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

element-ui中實現(xiàn)tree子節(jié)點部分選中時父節(jié)點也選中

 更新時間:2022年08月02日 09:15:11   作者:雅致坊  
這篇文章主要介紹了element-ui中實現(xiàn)tree子節(jié)點部分選中時父節(jié)點也選中的方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

子節(jié)點部分選中時父節(jié)點也選中

如果需求是:選中任何一個子節(jié)點都默認(rèn)選擇父節(jié)點,怎么辦?

其實,element-ui也提供了方案,常規(guī)下,如果子節(jié)點選中,那么這時父節(jié)點是半選中狀態(tài),在獲取選中值時,只需要利用**getHalfCheckedKeys()+getCheckedKeys()**兩個方法即可達到效果。

?let zi = this.$refs.tree.getCheckedKeys()//返回選中子節(jié)點的key
?let fu =this.$refs.tree.getHalfCheckedKeys()//返回選中子節(jié)點的父節(jié)點的key
?let new1 = zi.concat(fu)

el-tree數(shù)據(jù)回顯時子節(jié)點部分選中,父節(jié)點都全選中的坑

el-tree 在編輯中回顯數(shù)據(jù)時,有一個bug,就是只要我們回顯的數(shù)據(jù)中有父節(jié)點的 id,不管當(dāng)前父節(jié)點下的子節(jié)點是部分選中還是全選中,回顯的效果是該父子節(jié)點下的子節(jié)點都會全選中,這很顯然不是我們需要的

看大家有用自己的辦法解決,比如有說用 check-strictly 來控制父子互不互相關(guān)聯(lián)的做法,還有自己手動寫函數(shù)來控制父子節(jié)點的選中狀態(tài),但是方法多感覺很繁瑣。

我這里用getNode()的方法來簡單解決

預(yù)計的效果

目前實際效果

先上代碼看如何實現(xiàn)

template 部分

 <el-tree
   :data="list.data"
   show-checkbox
   node-key="id"
   :props="defaultProps"
   :default-expand-all="list.isExpand"
   v-loading="list.loading"
   ref="tree"
   @check-change="checkChange">
 </el-tree>

js 部分

export default {
  data () {
    return {
      list: {
        data: [],
        loading: false,
        isExpand: true
      },
      defaultProps: {
        children: 'children',
        label: 'name'
      },
      loading:false
    }
  },
  methods: {
    defaultChecked () { // 默認(rèn)選中
      this.$nextTick(() => {
        const arr = []
        this.menus.forEach(item => {
          if (!this.$refs.tree.getNode(item.id).childNodes || !this.$refs.tree.getNode(item.id).childNodes.length) {
            arr.push(item.id)
          }
        })
        this.$refs.tree.setCheckedKeys(arr)
      })
    },
  }
}

解析:this.menus 是從后端獲取回來的數(shù)據(jù),getNode() 獲取到當(dāng)前節(jié)點,判斷當(dāng)前節(jié)點是否是葉子節(jié)點,是的話存入 arr 數(shù)組中,最后使用 setCheckedKeys() 將數(shù)據(jù)回顯選中,從而實現(xiàn)父級的半選狀態(tài)

打印了一下Node 節(jié)點

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

兴隆县| 扬州市| 富宁县| 凤凰县| 全椒县| 黄冈市| 砀山县| 武平县| 龙川县| 恩施市| 海口市| 岳西县| 陵川县| 祁连县| 团风县| 周至县| 内乡县| 博野县| 西吉县| 尤溪县| 怀来县| 邯郸县| 华安县| 龙南县| 玉林市| 峨山| 武鸣县| 秦皇岛市| 西城区| 龙海市| 文成县| 新泰市| 马鞍山市| 安多县| 麦盖提县| 黄平县| 峨眉山市| 边坝县| 咸丰县| 南投县| 阜新|