当前位置: 首页 > news >正文

【antd + vue】Tree 树形控件:默认展开所有树节点 、点击文字可以“选中/取消选中”节点

一、defaultExpandAll 默认展开所有树节点

1、需求:默认展开所有树节点

 

2、问题:

v-if="data.length"判断的层级不够,只判断到了物理那一层,所以只展开到那一层。

3、原因分析:

默认展开所有树节点, 如果是异步数据,需要在数据返回后再实例化,建议用 v-if="data.length";当有 expandedKeys 时,defaultExpandAll 将失效。

4、解决办法:

判断:到最里面的那一层数据都有了之后再渲染。

 

二、点击文字可以“选中/取消选中”节点

1、需求:点击文字选中/取消选中节点

 

2、解决办法:

<a-tree
    checkable
    v-model="checkedKeys":tree-data="treeData"
    @select="treeNodeSelect">
</a-tree>

/**
* @description: 点击文字也能选中
* @return {*}
*/
const treeNodeSelect= (selectedKeys, e) => {
    // 转成真正的数组
    const toArray = (list) => Array.from(list || []);
    // 获取被点击的树节点
    const node = e.nativeEvent.path.find((item) => {
      return toArray(item.classList).findIndex(className => className === "ant-tree-treenode-switcher-open") !== -1;
    });
    // 获取checkbox复选框
    const checkbox = toArray(node.childNodes).find((item) => {
      return toArray(item.classList).findIndex(className => className === "ant-tree-checkbox") !== -1;
    })
    // 模拟点击
    checkbox && checkbox.click();
};

 

3、参考链接:

ant-design-vue tree组件选中节点也可以勾选上checkbox

相关文章:

  • 代码随想录第15天:(二叉树)
  • 企业指标设计方法指南
  • Matlab 汽车ABS的bangbang控制和模糊PID控制
  • Linux 安装 vscode
  • erlang的安装-linux
  • 工业相机使用笔记
  • “实时滚动”插件:一个简单的基于vue.js的无缝滚动
  • 懒人版)RF_NSGA2_Topsis随机森林做代理预测模型NSGA3结合熵权法Topsis反求最佳因变量和对应的最佳自变量组合(含帕累托前沿解)
  • 腾讯会议for flatpak
  • 小张的工厂进化史——工厂模式
  • Linux基础命令解释
  • 北斗导航 | 接收机自主完好性监测(RAIM)算法学习思路总结及其算法研究:理论、实现与验证
  • SpringBoot连接MQTT客户端
  • PODS_ROOT、BUILT_PRODUCTS_DIR和SRCROOT有什么区别
  • js鼠标拖拽 修改el-table表格顺序 vue2 + element-ui js
  • Python 装饰器(Decorator)
  • 解锁 HTML5 表单新力量:<datalist>、<keygen>、<output>元素深度解析
  • Redis 集群(Cluster)
  • python基础:变量-数据类型(整数类型、浮点类型、布尔类型、字符串类型)
  • tree-sitter的grammar.js解惑
  • 网站建设费用设计/百度关键词竞价价格查询
  • 手机制作模板图片的app/网站更新seo
  • java 开发手机网站建设/正规seo需要多少钱
  • 巩义机械厂网站建设/怀化seo推广
  • 网站如何做促销活动/中国国际新闻
  • 环保设备网站怎么做/小红书关键词排名怎么做