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

VUE3 + Elementui-Plus 之 樹形組件el-tree 一鍵展開(收起);一鍵全選(不全選)

這篇具有很好參考價值的文章主要介紹了VUE3 + Elementui-Plus 之 樹形組件el-tree 一鍵展開(收起);一鍵全選(不全選)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

需求: 產(chǎn)品要求權(quán)限樹形結(jié)構(gòu)添加外部復(fù)選框進(jìn)行全部展開或收起;全選或不全選。

實(shí)現(xiàn)步驟:
tree組件部分:

<div class="role-handle">
   <div>權(quán)限選擇(可多選)</div>
   <div>
     <el-checkbox v-model="expandAll" @change="toggleExpandAll"> 展開/折疊 </el-checkbox>

     <el-checkbox v-model="checkAll" @change="handleCheckAllChange"> 全選/全不選 </el-checkbox>
   </div>
 </div>
<el-tree
   ref="treeRef"
   node-key="code"
   show-checkbox
   v-loading="loading"
   element-loading-text="權(quán)限資源加載中..."
   class="el-tree"
   :indent="12"
   :data="treeData"
   :props="defaultProps"
   :highlight-current="true"
   :default-expand-all="false"
   :expand-on-click-node="false"
   :default-checked-keys="menuIds"
   :default-expanded-keys="expandedKeys"
   @check="handleCheckChange"
 />

ts部分:

const checkAll: any = ref(false);
const expandAll: any = ref(false);
//略去其他變量;可查看文檔自行配置
// 展開
const toggleExpandAll = (type: any) => {
  expandAll.value = type;
  if (type) {
    Object.values(treeRef.value.store.nodesMap).forEach((v: any) => v.expand());
    return;
  }
  Object.values(treeRef.value.store.nodesMap).forEach((v: any) => v.collapse());
};
// 全選
const handleCheckAllChange = (val: any) => {
  setCheckedRecursive(treeData.value, val);
};
const setCheckedRecursive = (nodes: any, checked: any) => {
  for (const node of nodes) {
    treeRef.value.setChecked(node.code, checked);
    if (node.child && node.child.length > 0) {
      setCheckedRecursive(node.child, checked);
    }
  }
};

頁面效果:
默認(rèn)狀態(tài)
VUE3 + Elementui-Plus 之 樹形組件el-tree 一鍵展開(收起);一鍵全選(不全選),elementui,前端,javascript

展開狀態(tài)
VUE3 + Elementui-Plus 之 樹形組件el-tree 一鍵展開(收起);一鍵全選(不全選),elementui,前端,javascript

折疊狀態(tài)
VUE3 + Elementui-Plus 之 樹形組件el-tree 一鍵展開(收起);一鍵全選(不全選),elementui,前端,javascript

全選狀態(tài)
VUE3 + Elementui-Plus 之 樹形組件el-tree 一鍵展開(收起);一鍵全選(不全選),elementui,前端,javascript
全不選狀態(tài)
VUE3 + Elementui-Plus 之 樹形組件el-tree 一鍵展開(收起);一鍵全選(不全選),elementui,前端,javascript
注意:以上方法會展開或折疊所有節(jié)點(diǎn);全選或全不選節(jié)點(diǎn)。
問題:數(shù)據(jù)量過大以上操作會有明顯卡頓;有高效解決方法的朋友可以交流。文章來源地址http://www.zghlxwxcb.cn/news/detail-847661.html

到了這里,關(guān)于VUE3 + Elementui-Plus 之 樹形組件el-tree 一鍵展開(收起);一鍵全選(不全選)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • vue3+ts+elementui-plus二次封裝彈框

    一、彈框組件BaseDialog

    2024年02月15日
    瀏覽(27)
  • vue3項(xiàng)目創(chuàng)建(vite3+ts+elementui-plus)

    vue3項(xiàng)目創(chuàng)建(vite3+ts+elementui-plus)

    目的:vue3+vite+ts 安裝依賴,安裝vite的工具 Vite下一代的前端工具鏈為開發(fā)提供極速響應(yīng)v4.3 創(chuàng)建工程 –template vue-ts 后面的是配置模板,有很多,也有react,官網(wǎng)有介紹 啟動工程 安裝路由 配置vite-env.d.ts 為了讓ts識別.vue文件 安裝element-plus 注意vue3用的是element-plus別裝錯版本了

    2024年02月16日
    瀏覽(20)
  • vue3+elementUI-plus實(shí)現(xiàn)select下拉框的虛擬滾動

    網(wǎng)上查了幾個方案,要不就是不兼容,要不就是不支持vue3, 最終找到一個合適的,并且已上線使用,需要修改一下樣式: 代碼如下: main.js里引用 vue文件: js代碼: css代碼:

    2024年02月13日
    瀏覽(29)
  • vue3使用element-plus 樹組件(el-tree)數(shù)據(jù)回顯

    html搭建結(jié)構(gòu) js 非常好用,拿過來修改一下check事件,ref獲取就直接可以使用了?

    2024年04月09日
    瀏覽(99)
  • vue3+element-plus組件下拉列表,數(shù)組數(shù)據(jù)轉(zhuǎn)成樹形數(shù)據(jù)

    引入組件 可以直接在項(xiàng)目中引入element-plus表格組件,如果需要變成下拉列表樣式需要添加以下屬性: row-key 必填 最好給數(shù)字或唯一屬性 , 給每個節(jié)點(diǎn)設(shè)置id 不填的話 沒有辦法實(shí)現(xiàn)展開效果 load 這個是動態(tài)添加數(shù)據(jù)的 前提(開啟lazy ,表格數(shù)組里設(shè)置了hasChildren:true) tre

    2024年02月13日
    瀏覽(48)
  • element plus 可選擇樹形組件(el-tree) 怎樣一鍵展開/收起?實(shí)現(xiàn)方法詳解

    element plus 可選擇樹形組件(el-tree) 怎樣一鍵展開/收起?實(shí)現(xiàn)方法詳解

    實(shí)現(xiàn)代碼: 按鈕: 組件: ?在ref中綁定folderTreeRef? 展開收起: 效果: 實(shí)現(xiàn)原理: 打印上面的 ? folderTreeRef ,可以從原型鏈的 store 中找到 _getAllNodes 屬性 官方文檔好像沒有描述關(guān)于此屬性的內(nèi)容,查了好多資料,搜了多篇文章,可以發(fā)現(xiàn) store 原型中有 _getAllNodes 這個屬性

    2024年01月20日
    瀏覽(107)
  • 在Vue3+ElementPlus項(xiàng)目中使用具有懶加載的el-tree樹形控件

    在Vue3+ElementPlus項(xiàng)目中使用具有懶加載的el-tree樹形控件

    有時遇到一些需求就是在使用樹形控件時,服務(wù)端并沒有一次性返回所有數(shù)據(jù),而是返回首層節(jié)點(diǎn)列表。然后點(diǎn)擊展開首層節(jié)點(diǎn)中的某個節(jié)點(diǎn),再去請求該節(jié)點(diǎn)的子節(jié)點(diǎn)列表,那么就得用上懶加載的機(jī)制了。在此以ElementPlus的樹形控件為例,實(shí)現(xiàn)一個具有懶加載的樹形控件的

    2024年02月06日
    瀏覽(30)
  • vue2 Elementui 樹形組件怎么實(shí)現(xiàn)多選并獲取選中節(jié)點(diǎn)的node對象

    vue2 Elementui 樹形組件怎么實(shí)現(xiàn)多選并獲取選中節(jié)點(diǎn)的node對象

    一.前言 樹形組件是我們經(jīng)常用到的組件,主要場景就是:公司后臺管理的部門管理,做文章目錄等。 二.常用的幾種方法及說明 1.node-click:節(jié)點(diǎn)被點(diǎn)擊時的回調(diào) 共三個參數(shù),依次為:傳遞給? data ?屬性的數(shù)組中該節(jié)點(diǎn)所對應(yīng)的對象、 節(jié)點(diǎn)對應(yīng)的 Node 、節(jié)點(diǎn)組件本身。 2.c

    2024年02月16日
    瀏覽(20)
  • 【前端vue升級】vue2+js+elementUI升級為vue3+ts+elementUI plus

    【前端vue升級】vue2+js+elementUI升級為vue3+ts+elementUI plus

    gogo code 是一個基于 AST (源代碼的抽象語法結(jié)構(gòu)樹狀表現(xiàn)形式)的 JavaScript/Typescript/HTML 代碼轉(zhuǎn)換工具,可以用它來構(gòu)建一個代碼轉(zhuǎn)換程序來幫助自動化完成如框架升級、代碼重構(gòu)、多平臺轉(zhuǎn)換等工作。 當(dāng)前 GoGoCode 支持解析和操作如下類型的代碼: ○JavaScript(JSX) ○Typescript

    2024年02月12日
    瀏覽(31)
  • vue2 - 詳細(xì)介紹element UI中在el-select嵌套el-tree樹形控件實(shí)現(xiàn)下拉選擇樹型結(jié)構(gòu)數(shù)據(jù)的效果實(shí)例(組件封裝)

    vue2 - 詳細(xì)介紹element UI中在el-select嵌套el-tree樹形控件實(shí)現(xiàn)下拉選擇樹型結(jié)構(gòu)數(shù)據(jù)的效果實(shí)例(組件封裝)

    在項(xiàng)目上常用使用到?el-select?和?el-tree?組合實(shí)現(xiàn),記錄下兩者結(jié)合的實(shí)現(xiàn)過程。(代碼以及注釋清晰明了,代碼直接使用即可) 要求根據(jù)項(xiàng)目接口提供的數(shù)據(jù),el-tree 里的數(shù)據(jù)是一次性返回來的,點(diǎn)擊最后一層級時,請求接口,在點(diǎn)擊層級下方追加數(shù)據(jù)追加的數(shù)據(jù)要顯示勾

    2024年04月15日
    瀏覽(90)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包