国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

<span id="ty6yl"><em id="ty6yl"><mark id="ty6yl"></mark></em></span>

  1. antd Pro組件ProFormList實(shí)現(xiàn)自定義action

    這篇具有很好參考價(jià)值的文章主要介紹了antd Pro組件ProFormList實(shí)現(xiàn)自定義action。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

    antd Pro組件ProFormList自定義action

    ProFormList是ant design pro的結(jié)構(gòu)化數(shù)據(jù)組件,通常用來實(shí)現(xiàn)動(dòng)態(tài)表單。
    現(xiàn)在有個(gè)需求,除了組件自帶的刪除和復(fù)制,還需要增加兩個(gè)按鈕來實(shí)現(xiàn)每個(gè)item位置的上下移動(dòng),如圖所示:
    antd Pro組件ProFormList實(shí)現(xiàn)自定義action

    查看官方文檔,組件有提供自定義action的API--actionRender,介紹如下

    /**
       * @name 自定義操作按鈕
       *
       * @example 刪除按鈕
       * actionRender:(field,action)=><a onClick={()=>action.remove(field.name)}>刪除</a>
       * @example 最多只能新增三行
       * actionRender:(f,action,_,count)=><a onClick={()=>
       *   count>2?alert("最多三行!"):action.add({id:"xx"})}>刪除
       * </a>
       */
      actionRender?: (
        field: FormListFieldData,
        /**
         * 操作能力
         * @example  action.add(data) 新增一行
         * @example  action.remove(index) 刪除一行
         * @example  action.move(formIndex,targetIndex) 移動(dòng)一行
         */
        action: FormListOperation,
        /**
         * 默認(rèn)的操作dom
         * [復(fù)制,刪除]
         */
        defaultActionDom: ReactNode[],
        /**
         * 當(dāng)前共有幾個(gè)列表項(xiàng)
         */
        count: number,
      ) => ReactNode[];
    

    API提供的參數(shù)--action提供了移動(dòng)位置的方法action.move(formIndex,targetIndex),只需要傳入當(dāng)前位置索引和目標(biāo)位置索引即可。

    那現(xiàn)在的問題就是如何知道當(dāng)前操作的item索引位置呢,官方文檔寫的不是很詳細(xì)。研究了一會(huì),奧秘竟在field參數(shù)中!
    打印一下三個(gè)item的field

    {
        "name": 0,
        "key": 0,
        "isListField": true,
        "fieldKey": 0,
        "uuid": "fbf3b67a-345b-4645-ad0e-5bef325a8c39"
    }
    {
        "name": 1,
        "key": 1,
        "isListField": true,
        "fieldKey": 1,
        "uuid": "2f8a7f5a-34f2-456e-8816-6ab0b6e72332"
    }
    {
        "name": 2,
        "key": 2,
        "isListField": true,
        "fieldKey": 2,
        "uuid": "926653b6-df29-447a-bd40-a16a178e251a"
    }
    

    嘗試執(zhí)行move(0,1)后,再次打印對(duì)比uuid發(fā)現(xiàn),name的值正是list索引,且隨數(shù)組動(dòng)態(tài)變化的,那就好辦了,你早說嘛真是的。
    于是答案呼之欲出:

     actionRender={(field, action, defaultActionDom, count) => {
              return [
                ...defaultActionDom,
                <ArrowUpOutlined
                  key="up_arrow"
                  style={{ marginLeft: '5px' }}
                  onClick={() => {
                    if (field.name === 0) {
                      //位于第一個(gè),移動(dòng)到最后一個(gè)
                      action.move(field.name, count - 1);
                    } else {
                      action.move(field.name, field.name - 1);
                    }
                  }}
                />,
                <ArrowDownOutlined
                  key="down_arrow"
                  style={{ marginLeft: '5px' }}
                  onClick={() => {
                    if (field.name === count - 1) {
                      //位于最后一個(gè),移動(dòng)到第一個(gè)
                      action.move(field.name, 0);
                    } else {
                      action.move(field.name, field.name + 1);
                    }
                  }}
                />,
              ];
            }}
    

    defaultActionDom直接挪過來,增加判斷:當(dāng)item位于第一個(gè)時(shí)向上移動(dòng)到最后一個(gè),位于最后一個(gè)時(shí)向下移動(dòng)到第一個(gè),搞定文章來源地址http://www.zghlxwxcb.cn/news/detail-749297.html

    到了這里,關(guān)于antd Pro組件ProFormList實(shí)現(xiàn)自定義action的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

    本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

    領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

    相關(guān)文章

    • Antd G6實(shí)現(xiàn)自定義工具欄

      Antd G6實(shí)現(xiàn)自定義工具欄

      ? ? ? ?在使用g6實(shí)現(xiàn)知識(shí)圖譜可視化中,產(chǎn)品經(jīng)理提出了有關(guān)圖譜操作的不少功能,需要放置在工具欄中,其中有些功能不在g6自帶的功能里,且工具欄樣式、交互效果也和官方自定義工具欄不同。那我們?cè)趺慈?shí)現(xiàn)呢? ? ? ? ? g6官方的工具欄案例是這樣:G6,提供了“重

      2024年01月25日
      瀏覽(18)
    • antd的Table組件實(shí)現(xiàn)單元格可編輯

      antd的Table組件實(shí)現(xiàn)單元格可編輯

      目錄 ?官網(wǎng)做法 其他做法 首先,官網(wǎng)文檔上是有可編輯單元格和可編輯行的。我研究了好幾遍,也是半知半解,只會(huì)用 ?官網(wǎng)做法 有一定的局限性,單元格內(nèi)只能是輸入框(我試了一些別的,不太行) 代碼直接照著文檔粘貼,只說一下需要改動(dòng)的地方 table的數(shù)據(jù)源,我們都是

      2024年02月16日
      瀏覽(28)
    • React antd upload組件上傳視頻并實(shí)現(xiàn)視頻預(yù)覽

      記錄問題:antd的upload組件文檔中對(duì)于視頻的上傳預(yù)覽沒有明確的文檔demo,在這里記錄一下 項(xiàng)目需求:支持圖片及視頻的上傳并實(shí)現(xiàn)預(yù)覽,點(diǎn)擊上傳后不會(huì)立即請(qǐng)求接口上傳資源,后續(xù)點(diǎn)擊確定再上傳 上代碼

      2024年02月04日
      瀏覽(30)
    • react結(jié)合antd的Table組件實(shí)現(xiàn)動(dòng)態(tài)單元格合并

      react結(jié)合antd的Table組件實(shí)現(xiàn)動(dòng)態(tài)單元格合并

      首先看一下antd的Table表單組件,合并單元格,用到了rowSpan(合并行)和colSpan(合并列) ?后臺(tái)返回的數(shù)據(jù) 我們希望把category的值相同的,行合并成一個(gè)單元格 類似于這種 ?rowSpan這個(gè)屬性可以指定合并行。例如說第一行,指定rowSpan為3,意思就是合并三行,則后面緊挨的兩行的ro

      2024年02月12日
      瀏覽(23)
    • vue+antd——table組件實(shí)現(xiàn)動(dòng)態(tài)列+表頭下拉選擇功能——技能提升

      vue+antd——table組件實(shí)現(xiàn)動(dòng)態(tài)列+表頭下拉選擇功能——技能提升

      展示行列數(shù)據(jù)。 當(dāng)有大量結(jié)構(gòu)化的數(shù)據(jù)需要展現(xiàn)時(shí); 當(dāng)需要對(duì)數(shù)據(jù)進(jìn)行排序、搜索、分頁、自定義操作等復(fù)雜行為時(shí)。 最近在寫 vue+antd 的框架,遇到一個(gè)需求:就是要實(shí)現(xiàn) table 表格的動(dòng)態(tài)列,并且相應(yīng)的表頭要實(shí)現(xiàn)下拉選擇的效果,最后點(diǎn)擊保存時(shí),要將下拉的內(nèi)容拼接

      2024年02月09日
      瀏覽(28)
    • antd pro項(xiàng)目部署到gitpage白屏

      antd pro項(xiàng)目部署到gitpage白屏

      先總結(jié)一下如何部署項(xiàng)目到gitpage 1.新建分支gh-pages 2.把打包好的文件放在這個(gè)分支下 3. 之前打開一直白屏,有很多坑 第一個(gè),import { getIntl } from \\\'@umijs/max\\\';這個(gè)引入要@,不能是./引入的 第二個(gè),新建一個(gè)config.prod.ts,加上兩行代碼 第三步,package.json里加入 這樣打包之后的文件

      2024年01月16日
      瀏覽(16)
    • React antd如何實(shí)現(xiàn)<Upload>組件上傳附件再次上傳已清除附件緩存問題

      React antd如何實(shí)現(xiàn)<Upload>組件上傳附件再次上傳已清除附件緩存問題

      最近遇到一個(gè)React上傳組件的問題,即上傳附件成功后,文件展示處仍然還有之前上傳附件的緩存信息,需要解決的問題是,要把上一次上傳的附件緩存在上傳成功或者取消后,可以進(jìn)行清除 經(jīng)過一頓試錯(cuò),終于解決了這個(gè)問題。 showUploadList,是可選參數(shù),即是否展示upload

      2024年02月04日
      瀏覽(60)
    • react使用antd的table組件,實(shí)現(xiàn)點(diǎn)擊彈窗顯示對(duì)應(yīng)列的內(nèi)容

      react使用antd的table組件,實(shí)現(xiàn)點(diǎn)擊彈窗顯示對(duì)應(yīng)列的內(nèi)容

      特別提醒:不能在table的columns的render里面設(shè)置彈窗組件渲染,因?yàn)檫@會(huì)導(dǎo)致彈窗顯示的始終是最后一行的內(nèi)容,因?yàn)檫@樣渲染的結(jié)果是每一行都會(huì)重新渲染一遍這個(gè)彈窗并且會(huì)給傳遞一個(gè)content的值,渲染到最后一行的時(shí)候,就傳遞的是最后一行的值。這就導(dǎo)致你有多少行數(shù)據(jù)

      2024年02月12日
      瀏覽(40)
    • Django實(shí)現(xiàn)接口自動(dòng)化平臺(tái)(十)自定義action names【持續(xù)更新中】

      Django實(shí)現(xiàn)接口自動(dòng)化平臺(tái)(十)自定義action names【持續(xù)更新中】

      相關(guān)文章: Django實(shí)現(xiàn)接口自動(dòng)化平臺(tái)(九)環(huán)境envs序列化器及視圖【持續(xù)更新中】_做測(cè)試的喵醬的博客-CSDN博客 深入理解DRF中的Mixin類_做測(cè)試的喵醬的博客-CSDN博客? python中Mixin類的使用_做測(cè)試的喵醬的博客-CSDN博客? 本章是項(xiàng)目的一個(gè)分解,查看本章內(nèi)容時(shí),要結(jié)合整體項(xiàng)

      2024年02月16日
      瀏覽(29)
    • 如何結(jié)合antd design pro 5 結(jié)合express 上傳多個(gè)文件

      在Ant Design Pro 5(基于React)的前端界面結(jié)合Express后端實(shí)現(xiàn)上傳整個(gè)文件夾的文件,實(shí)際上是在前端進(jìn)行多文件選擇,并通過POST請(qǐng)求將文件列表發(fā)送到后端,然后由后端處理上傳。由于瀏覽器API限制,直接上傳整個(gè)文件夾并不支持,但用戶可以選擇文件夾內(nèi)的所有文件進(jìn)行上

      2024年01月21日
      瀏覽(43)

    覺得文章有用就打賞一下文章作者

    支付寶掃一掃打賞

    博客贊助

    微信掃一掃打賞

    請(qǐng)作者喝杯咖啡吧~博客贊助

    支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

    二維碼1

    領(lǐng)取紅包

    二維碼2

    領(lǐng)紅包