最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

antd為Tree組件標題附加操作按鈕功能

 更新時間:2022年08月16日 11:45:59   作者:曲鳥???????  
這篇文章主要介紹了antd為Tree組件標題附加操作按鈕功能,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下

一、前言

使用antd的tree組件實現(xiàn)下面這樣的模塊樹,點擊標題請求其下列表的數(shù)據(jù),點擊標題旁邊的操作圖標則執(zhí)行對應的增刪改功能:

二、實現(xiàn)方案

1.封裝一個設置樹標題的方法,通過開關改變state來控制圖標按鈕是否可見: 

處理樹數(shù)據(jù)(name、children)

  const setTree = (module_data: any) => {
    return module_data.map((item: any) => {
      let _json = { ...item };
      _json.name = setTreeTitle(item);
      _json.children = item.children ? setTree(item.children) : [];
      return _json;
    });
  };

賦值給Tree的treeData:

<Tree
   		...
        treeData={setTree(treeData)} 
        ...
        fieldNames={{ title: 'name', key: 'id', children: 'children' }}
      />

2.樹標題被選中時,則調用刷新列表的方法:

onSelect={(value: any, e: any) => {
      if (e.selected) {
        treeSelectFunc(value[0]);
      }
    }}

3.但需要注意的坑是,由于我增加了刪除功能,當執(zhí)行刪除操作后,樹處于選中狀態(tài)的話就會報錯,因為處于選中狀態(tài)就會調用刷新列表的方法,但該數(shù)據(jù)已經(jīng)被我刪除了,可能因此報錯: 

所以我們需要創(chuàng)建一個state來存儲當前選中的數(shù)據(jù):

const [selectId, setSelectId] = useState<any>(null);

然后在onSelect方法中判斷新選中的數(shù)據(jù)是否是當前數(shù)據(jù),如果是則不再執(zhí)行請求方法:

onSelect={(value: any, e: any) => {
  const selectValue = value[0]
  if (e.selected && selectValue !== selectId) {
    treeSelectFunc(selectValue);
    setSelectId(selectValue)
  }
}}

這樣就解決了刪除數(shù)據(jù)可能報錯的問題。

三、總結

到此這篇關于antd為Tree組件標題附加操作按鈕功能的文章就介紹到這了,更多相關antd為Tree組件按鈕功能內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • redis-benchmark并發(fā)壓力測試的問題解析

    redis-benchmark并發(fā)壓力測試的問題解析

    這篇文章主要介紹了redis-benchmark并發(fā)壓力測試的問題解析,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01
  • Redis中ServiceStack.Redis和StackExchange.Redis區(qū)別詳解

    Redis中ServiceStack.Redis和StackExchange.Redis區(qū)別詳解

    本文主要介紹了Redis中ServiceStack.Redis和StackExchange.Redis區(qū)別詳解,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • Redis分片集群的實現(xiàn)

    Redis分片集群的實現(xiàn)

    Redis 分片集群是一種將 Redis數(shù)據(jù)庫分散到多個節(jié)點上的方式,以提供更高的性能和可伸縮性,本文主要介紹了Redis分片集群的實現(xiàn),具有一定的參考價值,感興趣的可以了解一下
    2025-04-04
  • Redis?BigKey的問題解決

    Redis?BigKey的問題解決

    本文主要介紹了Redis?BigKey的問題解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-05-05
  • redis中修改配置文件中的端口號 密碼方法

    redis中修改配置文件中的端口號 密碼方法

    今天小編就為大家分享一篇redis中修改配置文件中的端口號 密碼方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • Redis分布式鎖的實現(xiàn)方式

    Redis分布式鎖的實現(xiàn)方式

    本文主要介紹了Redis分布式鎖的實現(xiàn)方式,分布式鎖是?滿足分布式系統(tǒng)或集群模式下多進程可見并且互斥的鎖。感興趣的同學可以參考閱讀
    2023-04-04
  • Redis高并發(fā)情況下并發(fā)扣減庫存項目實戰(zhàn)

    Redis高并發(fā)情況下并發(fā)扣減庫存項目實戰(zhàn)

    本文主要介紹了Redis高并發(fā)情況下并發(fā)扣減庫存項目實戰(zhàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-04-04
  • 使用redis實現(xiàn)附近的人功能

    使用redis實現(xiàn)附近的人功能

    這篇文章主要介紹了使用redis實現(xiàn)附近的人,實現(xiàn)諸如附近的人這類依賴于地理位置信息的功能,本文通過實例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2021-09-09
  • 深入了解Redis的性能

    深入了解Redis的性能

    這篇文章主要介紹了Redis的性能,作者通過Visual Studio上的C#程序對其進行了分析,需要的朋友可以參考下
    2015-06-06
  • Redis高效率原因及數(shù)據(jù)結構分析

    Redis高效率原因及數(shù)據(jù)結構分析

    這篇文章主要為大家詳細的介紹了Redis高效的原因以及分析了Redis高效的數(shù)據(jù)結構,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2021-09-09

最新評論

宁远县| 垣曲县| 米林县| 金华市| 迭部县| 佛冈县| 盐津县| 库车县| 环江| 元氏县| 沈阳市| 汉阴县| 喀什市| 石阡县| 会宁县| 延安市| 山阳县| 石台县| 秦安县| 合肥市| 沁源县| 新宁县| 繁昌县| 绵阳市| 澄迈县| 乐业县| 射阳县| 玛纳斯县| 枣阳市| 镇江市| 茂名市| 虎林市| 正阳县| 原平市| 友谊县| 西宁市| 屏东市| 通城县| 青龙| 若羌县| 湖南省|