欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Antd中Table列表行默認(rèn)包含修改及刪除功能的封裝方法

 更新時間:2022年12月22日 11:53:29   作者:曲鳥  
這篇文章主要介紹了Antd中Table列表行默認(rèn)包含修改及刪除功能的封裝,本文結(jié)合示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

一、前言

ant-design是非常不錯、方便的一款前端組件庫,而這次用到的ProComponents則是在 Ant Design 上進(jìn)行了自己的封裝,更加易用,與 Ant Design 設(shè)計體系一脈相承,無縫對接 antd 項目,樣式風(fēng)格與 antd 一脈相承,無需魔改,渾然天成。一些預(yù)設(shè)行為也達(dá)到了更少的代碼,更少的 Bug的目的。

這里我使用ProComponents的editable-table時發(fā)現(xiàn)它的表格默認(rèn)自帶了修改刪除功能:

在這里插入圖片描述

代碼封裝的actionRender方法提供了相應(yīng)的參數(shù)來使用默認(rèn)的修改刪除:

在這里插入圖片描述

自己使用的項目也有非常多的表單,大部分都包含修改刪除功能,所以對我來講也是非常實用的,但它的修改是在行內(nèi)編輯,我的需要彈窗編輯,所以這里根據(jù)自己的思路封裝了一下,下面分享給大家。

二、給Table封裝默認(rèn)的修改、刪除功能

整個封裝過程把思路理清楚了也能很簡單的實現(xiàn),首先是將彈窗方法(不同功能的表單會有差異)傳遞給封裝的公共Table:

  //彈窗方法
  const showModal = (type: string, values: any = {}) => {
    values['formType'] = type;
    setFormData(values);
    setFormVisible(true);
  };

傳遞給table:

     <LimTable
        actionRef={ref}
        columns={columns}
        func={UserView}
        showModal={showModal}
        headerTitle="用戶列表"
      />

然后在公共Table組件中定義默認(rèn)表單的操作方法(修改,刪除)這里只提供思路,代碼不適用于你的項目:

  //默認(rèn)的表單操作dom
  const defaultColumnDom = {
    update: (record: any) => (
      <a key="update" onClick={() => showModal(PATCH, record)}>
        修改
      </a>
    ),
    delete: (record: any) => (
      <a
        key="delete"
        onClick={() => {
          deleteDataFunc(func, record.id);
        }}
      >
        刪除
      </a>
    ),
  };

然后放入設(shè)置表單操作欄的方法中:

  //設(shè)置表單options(操作欄)的方法
  const setDefualtColumnsOptions = () => {
    for (let i = 0; i < columns.length; i++) {
      if (columns[i].dataIndex === 'option') {
        if (!optionRender) {
          //沒有配置optionRender則默認(rèn)增加修改、刪除功能
          columns[i].render = (_: any, record: any) => [
            defaultColumnDom.update(record),
            defaultColumnDom.delete(record),
          ];
        } else {
          columns[i].render = (_: any, record: any) =>
            optionRender({ update: defaultColumnDom.update(record), delete: defaultColumnDom.delete(record) }, record);
        }
        break;
      }
    }
  };

最后加入useEffect中即可完成:

 useEffect(() => {
    setDefualtColumnsOptions();
  }, []);

三、實現(xiàn)效果

當(dāng)我們不傳遞optionRender時,列表默認(rèn)攜帶修改、和刪除功能:

在這里插入圖片描述

當(dāng)我們傳遞了optionRender時,列表根據(jù)傳遞的渲染操作欄:

只包含修改功能

      <LimTable
        actionRef={ref}
        columns={columns}
        func={UserView}
        optionRender={(dom: any) => [dom.update]}
        showModal={showModal}
        headerTitle="用戶列表"
      />

在這里插入圖片描述

包含修改功能并附加文字:

      <LimTable
        actionRef={ref}
        columns={columns}
        func={UserView}
        optionRender={(dom: any) => [dom.update, '曲鳥']}
        showModal={showModal}
        headerTitle="用戶列表"
      />

在這里插入圖片描述

這樣我們又封裝好了一個組件了,減少了后面編碼的重復(fù)性工作,也間接減少了BUG的產(chǎn)生。

到此這篇關(guān)于Antd中Table列表行默認(rèn)包含修改及刪除功能的封裝的文章就介紹到這了,更多相關(guān)Antd中Table列表行封裝內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 使用JavaScript刪除HTML元素的2種方法及3種情況

    使用JavaScript刪除HTML元素的2種方法及3種情況

    給定一個HTML元素,如何使用JavaScript從文檔中刪除該HTML元素,這篇文章主要給大家介紹了關(guān)于使用JavaScript刪除HTML元素的2種方法及3種情況,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-01-01
  • JavaScript進(jìn)階練習(xí)及簡單實例分析

    JavaScript進(jìn)階練習(xí)及簡單實例分析

    下面小編就為大家?guī)硪黄狫avaScript進(jìn)階練習(xí)及簡單實例分析。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-06-06
  • js實現(xiàn)按鈕控制帶有停頓效果的圖片滾動

    js實現(xiàn)按鈕控制帶有停頓效果的圖片滾動

    這篇文章主要介紹了js實現(xiàn)按鈕控制帶有停頓效果的圖片滾動,,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-08-08
  • 整理關(guān)于Bootstrap排版的慕課筆記

    整理關(guān)于Bootstrap排版的慕課筆記

    這篇文章主要為大家整理了關(guān)于Bootstrap排版的慕課筆記,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • js捕捉鍵盤事件和按鍵鍵值的方法

    js捕捉鍵盤事件和按鍵鍵值的方法

    下面小編就為大家?guī)硪黄猨s捕捉鍵盤事件和按鍵鍵值的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-10-10
  • javascript 改變網(wǎng)頁加載的CSS

    javascript 改變網(wǎng)頁加載的CSS

    javascript 改變網(wǎng)頁加載的CSS主要通過動態(tài)響應(yīng)select觸發(fā)的選項變化控制link標(biāo)簽加載的css,以實現(xiàn)不依賴cookie控制的頁面css樣式動態(tài)加載功能,需要的朋友可以參考一下
    2007-12-12
  • 當(dāng)前流行的JavaScript代碼風(fēng)格指南

    當(dāng)前流行的JavaScript代碼風(fēng)格指南

    這篇文章主要介紹了當(dāng)前流行的JavaScript代碼風(fēng)格指南,同時推薦了一款風(fēng)格檢驗工具jshint,可以配合大多數(shù)的編輯器統(tǒng)一團隊代碼風(fēng)格,需要的朋友可以參考下
    2014-09-09
  • Swiper自定義分頁器使用詳解

    Swiper自定義分頁器使用詳解

    這篇文章主要為大家詳細(xì)介紹了Swiper自定義分頁器的使用方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • 斜45度尋路實現(xiàn)函數(shù)

    斜45度尋路實現(xiàn)函數(shù)

    沒事寫個尋路的,很簡單,有需要的朋友可以參考下。
    2009-08-08
  • JS實現(xiàn)拖動模態(tài)框案例

    JS實現(xiàn)拖動模態(tài)框案例

    這篇文章主要為大家詳細(xì)介紹了JS實現(xiàn)拖動模態(tài)框案例,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-07-07

最新評論