亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

ElementUI中el-tree如何獲取每個(gè)節(jié)點(diǎn)點(diǎn)擊的選中狀態(tài)

 更新時(shí)間:2023年12月01日 09:57:01   作者:吉吉安  
ElementUI中el-tree獲取每個(gè)節(jié)點(diǎn)點(diǎn)擊的選中狀態(tài),有時(shí)候需要獲取el-tree每個(gè)節(jié)點(diǎn)的點(diǎn)擊狀態(tài),可以通過以下方式,其中isCheck類型為布爾值,本文結(jié)合實(shí)例代碼介紹ElementUI中el-tree獲取每個(gè)節(jié)點(diǎn)點(diǎn)擊的選中狀態(tài),感興趣的朋友一起看看吧

ElementUI中el-tree獲取每個(gè)節(jié)點(diǎn)點(diǎn)擊的選中狀態(tài)

有時(shí)候需要獲取el-tree每個(gè)節(jié)點(diǎn)的點(diǎn)擊狀態(tài),可以通過以下方式,其中isCheck類型為布爾值

          <el-tree
            :data="organizationData"
            :props="defaultProps"
            :check-strictly="isAssociate"
            node-key="organizationId"
            :expand-on-click-node="false"
            @check="getCurrentNode"
            ref="tree"
          >
          </el-tree>

1.綁定@check事件,我這里是getCurrentNode,函數(shù)名自己隨便寫
2.綁定ref

    getCurrentNode(nodeObj, nodeState) {
      //判斷當(dāng)前狀態(tài)是選中還是取消選中
      const isCheck = this.$refs.tree.getCheckedNodes().indexOf(nodeObj) > -1
      console.log(isCheck)
   }

附屬

element-ui el-tree 獲取當(dāng)前選中數(shù)據(jù)(含半選中的父節(jié)點(diǎn))

  • 當(dāng)不給el-tree組件設(shè)置check-strictly 屬性時(shí),默認(rèn)為false,但是回顯會(huì)有一些沒有選中的節(jié)點(diǎn)都勾選上了,怎么解決呢?
  • 重新回到設(shè)置 check-strictly 為 true 時(shí),父子級(jí)不互相關(guān)聯(lián),挨個(gè)點(diǎn)擊用戶體驗(yàn)不好的問題,同時(shí)也避免了出現(xiàn)半選的情況。
  • 需要簡(jiǎn)化用戶操作:
  • (1)當(dāng)點(diǎn)擊復(fù)選框勾選父節(jié)點(diǎn)時(shí),其父節(jié)點(diǎn)子節(jié)點(diǎn)會(huì)統(tǒng)一跟隨選中,為選中狀態(tài)
  • (1)當(dāng)點(diǎn)擊復(fù)選框勾選取消選中時(shí),其父節(jié)點(diǎn)子節(jié)點(diǎn)會(huì)統(tǒng)一跟隨為未選中狀態(tài)
  • el-tree 標(biāo)簽屬性
    node-key:每個(gè)樹節(jié)點(diǎn)用來作為唯一標(biāo)識(shí)的屬性,整棵樹應(yīng)該是唯一的。標(biāo)識(shí)節(jié)點(diǎn)唯一的鍵值名稱。
	default-checked-keys:對(duì)應(yīng)el-tree多選樹組件初始化時(shí)默認(rèn)選中ID
	check-strictly:是否嚴(yán)格的遵循父子不互相關(guān)聯(lián)的做法,默認(rèn)為false
	check:當(dāng)復(fù)選框被點(diǎn)擊的時(shí)候觸發(fā)的方法
methods:{
	<el-tree
        ref="tree"
        @check="check"           //選中或取消選中都會(huì)執(zhí)行該方法
        :check-strictly="true"  //這里需要設(shè)置為true,不設(shè)置會(huì)回顯未選中的節(jié)點(diǎn)
        :data="datalist"  //數(shù)據(jù)源  拿接口數(shù)據(jù)賦值就可
        show-checkbox
        node-key="id"
        :default-checked-keys="midPwList"   //這里需要后臺(tái)返回id集合數(shù)組 ,給它賦值即可
        :props="{children: 'children',label: 'menuName',value:'id',disabled:disabledFn}">
        <template #default="{node,data}">
            <span class="custom-tree-node" >
            <span>{{ node.label }}</span>
            <span>
                <el-tag closable size="mini" v-for="(item,index) in data.btnBean" @close="cancel(item.id)"  :key="index">{{item.btnname}}</el-tag>
            </span>
            </span>
        </template>
      </el-tree>
      <el-button type="text" size="medium" @click="quanxian(scope.row)">權(quán)限</el-button>
//調(diào)用check事件/下面三個(gè)方法都調(diào)用就可以實(shí)現(xiàn),點(diǎn)擊勾選父節(jié)點(diǎn)會(huì)跟隨選中子節(jié)點(diǎn)/取消勾選父節(jié)點(diǎn)會(huì)跟隨全部取消選中
check(currentObj, treeStatus) {
      // 用于:父子節(jié)點(diǎn)嚴(yán)格互不關(guān)聯(lián)時(shí),父節(jié)點(diǎn)勾選變化時(shí)通知子節(jié)點(diǎn)同步變化,實(shí)現(xiàn)單向關(guān)聯(lián)。
      let selected = treeStatus.checkedKeys.indexOf(currentObj.id)
      //不等于-1當(dāng)前是選中狀態(tài)
      if (selected !== -1) {
        this.selectedParent(currentObj)
        //統(tǒng)一處理子節(jié)點(diǎn)為相同的勾選狀態(tài)
        this.uniteChildSame(currentObj, true)
      }else {
        //等于 -1 是取消選中狀態(tài)
        this.uniteChildSame(currentObj, false) //
      }
    },
    uniteChildSame(treeList, isSelected) {
      console.log(isSelected);
      this.$refs.tree.setChecked(treeList.id, isSelected)
      if (treeList.children) {
        for (let i = 0; i < treeList.children.length; i++) {
          this.uniteChildSame(treeList.children[i], isSelected)
        }
      }
    },
    selectedParent(currentObj) {
      let currentNode = this.$refs.tree.getNode(currentObj)
      console.log(currentNode);
      if (currentNode.parent.key !== undefined) {
        this.$refs.tree.setChecked(currentNode.parent, true)
        this.selectedParent(currentNode.parent)
      }
    },
    //回顯勾選保存的數(shù)據(jù)
    quanxian(row){
     	 this.$nextTick(()=>{
         this.midPwList = JSON.parse(JSON.stringify(row.listRole));
       })
     }
}

到此這篇關(guān)于ElementUI中el-tree獲取每個(gè)節(jié)點(diǎn)點(diǎn)擊的選中狀態(tài)的文章就介紹到這了,更多相關(guān)ElementUI el-tree獲取選中狀態(tài)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • JavaScript中變量提升機(jī)制示例詳解

    JavaScript中變量提升機(jī)制示例詳解

    這篇文章主要給大家介紹了關(guān)于JavaScript中變量提升機(jī)制的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用JavaScript具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • video.js 實(shí)現(xiàn)視頻只能后退不能快進(jìn)的思路詳解

    video.js 實(shí)現(xiàn)視頻只能后退不能快進(jìn)的思路詳解

    這篇文章主要介紹了video.js 實(shí)現(xiàn)視頻只能后退不能快進(jìn)的思路詳解,主要思路是點(diǎn)擊進(jìn)度條需要獲取拖動(dòng)前的時(shí)間點(diǎn),具體實(shí)例代碼大家跟隨小編一起看看吧
    2018-08-08
  • 關(guān)于include標(biāo)簽導(dǎo)致js路徑找不到的問題分析及解決

    關(guān)于include標(biāo)簽導(dǎo)致js路徑找不到的問題分析及解決

    本文為大家詳細(xì)介紹下關(guān)于使用jsp:include標(biāo)簽及<%@ include標(biāo)簽時(shí)要注意的事項(xiàng)以及實(shí)測(cè)發(fā)現(xiàn)問題并解決問題的全過程,感興趣的各位可以參考下哈,希望對(duì)大家有所幫助
    2013-07-07
  • 利用JavaScript實(shí)現(xiàn)創(chuàng)建虛擬鍵盤的示例代碼

    利用JavaScript實(shí)現(xiàn)創(chuàng)建虛擬鍵盤的示例代碼

    這篇文章主要為大家詳細(xì)介紹了如何利用JavaScript實(shí)現(xiàn)創(chuàng)建虛擬鍵盤,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)JavaScript有一定幫助,需要的可以參考一下
    2022-09-09
  • JS動(dòng)態(tài)給對(duì)象添加事件的簡(jiǎn)單方法

    JS動(dòng)態(tài)給對(duì)象添加事件的簡(jiǎn)單方法

    下面小編就為大家?guī)硪黄狫S動(dòng)態(tài)給對(duì)象添加事件的簡(jiǎn)單方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-07-07
  • 淺談js中用$(#ID)來作為選擇器的問題(id重復(fù)的時(shí)候)

    淺談js中用$(#ID)來作為選擇器的問題(id重復(fù)的時(shí)候)

    下面小編就為大家?guī)硪黄獪\談js中用$(#ID)來作為選擇器的問題(id重復(fù)的時(shí)候)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-02-02
  • JS插件plupload.js實(shí)現(xiàn)多圖上傳并顯示進(jìn)度條

    JS插件plupload.js實(shí)現(xiàn)多圖上傳并顯示進(jìn)度條

    這篇文章主要為大家詳細(xì)介紹了PHP結(jié)合plupload.js JS插件實(shí)現(xiàn)多圖上傳并顯示進(jìn)度條加刪除實(shí)例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • Boostrap基礎(chǔ)教程之JavaScript插件篇

    Boostrap基礎(chǔ)教程之JavaScript插件篇

    Boostrap提供了12種JavaScript插件,在本文中給大家介紹了,不知道的朋友可以參考下,本文重點(diǎn)給大家介紹bootstrap基礎(chǔ)之js插件,感興趣的朋友一起學(xué)習(xí)吧
    2016-09-09
  • JavaScript緩沖運(yùn)動(dòng)實(shí)現(xiàn)方法(2則示例)

    JavaScript緩沖運(yùn)動(dòng)實(shí)現(xiàn)方法(2則示例)

    這篇文章主要介紹了JavaScript緩沖運(yùn)動(dòng)實(shí)現(xiàn)方法,簡(jiǎn)單分析了JavaScript緩沖運(yùn)動(dòng)的實(shí)現(xiàn)原理與相關(guān)運(yùn)算技巧,并給出了兩則實(shí)例代碼予以總結(jié)分析,需要的朋友可以參考下
    2016-01-01
  • javascript 必知必會(huì)之closure

    javascript 必知必會(huì)之closure

    本系列博文主要談一些在 javascript 使用中經(jīng)常會(huì)混淆的高級(jí)應(yīng)用,包括: prototype, closure, scope, this關(guān)鍵字. 對(duì)于一個(gè)需要提高自己javascript水平的程序員,這些都是必須要掌握的.
    2009-09-09

最新評(píng)論