ant design vue 使用树形控件(tree)点击节点expand判断的方法

news/2024/7/10 23:13:21 标签: vue.js, javascript, es6

当你想使用这个组件的时候,但是你点击一级树的时候调用一个接口,点击二级树的时候在调用另一个接口,那你就需要在点击一级节点的时候不用调用二级节点。那需要怎么做的,说一下我的思路,如果大家有别的更简单的方法,欢迎评论留言呐。
因为人家组件自带的方法expand有自带的参数,有一个node,node是一个对象,对象里面有一个pos的字符串,我就是判断的那个,用正则表达式匹配如果是0-0~0-9999的时候调用一级节点,如果是0-0-0的时候调用二级。

let reg = /^0-[0-99999]+$/; // 匹配的是0-0~0-9999
let isTrue = reg.test(node.pos); // 返回的是true或者false
onExpand(expandedKeys,{expanded: bool, node}) {
	// 判断isTrue
	expandedKeys.forEach((keyItem,keyIndex) => {
		if (isTrue) {
		// 这儿的判断是因为我点击的时候回重复push到里面title和key
			if (keyItem === node.eventKey) {
				// 写自己的逻辑代码 调用一级接口(一级节点)
				// push需要的对象 判断node.eventKey和节点key的值是否相等,相等的话再把数据添加到节点的children
			}
			} else {
			// 写自己的逻辑代码 调用二级接口(二级节点)
			}
		}
	};

当你想自己添加一个全选按钮节点的时候

 this.xmArr = [{
    checkable: true,
    title: '全选',
    children:[]
  }]
  res.result.forEach((xmItem,xmIndex) => {//6
  	// 因为这个全选就一个,你需要的是底下的children里面的数据所以[0]就可以xmArr[0].children
  this.xmArr[0].children.push({
    title: xmItem.jcdmc,
    key: xmItem.id,
  })
})

http://www.niftyadmin.cn/n/763857.html

相关文章

windows7怎么安装python库_Windows7下python的scipy库的安装-阿里云开发者社区

最近写了一篇关于“微软开源分布式高性能GB框架LightGBM安装使用”的文章,有小伙伴安装python环境遇到了问题。我个人也尝试安装了一下,确实遇到了很多问题。 scipy库的安装 1、执行命令:pip install scipy 可能会提示类似下面的信息&#xf…

vue 搜索文本让搜索的字体高亮显示

首先用到了ant design vue的折叠板,replace方法(replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。) 这个折叠组件的hander支持字符串写法,支持solt写法。现在用的是solt写法…

用python的五种方式_Python 操作 MySQL 的5种方式(转)

不管你是做数据分析,还是网络爬虫,Web 开发、亦或是机器学习,你都离不开要和数据库打交道,而 MySQL 又是最流行的一种数据库,这篇文章介绍 Python 操作 MySQL 的5种方式,你可以在实际开发过程中根据实际情况…

ant design vue树结构的expand和select的方法

你想点击第一个不做一些事件做正则判断 let reg /^0-[0-99999]$/;let isTrue reg.test(e.node.pos);点击第一个不展示数据,点击第二层展示数据

scapy python_Python scapy模块个人见解

scapy模块 from scapy.all import * //来自scapy.all文件,导入所有函数 python交互模式中:ls(*)*Ether、IP、ICMP、TCP、UDP、ARP 等等,查看可以配置的参数 1.构建包:不同层之间用/分隔(常用&#xf…

jeecg实现点击按钮跳转路由url后面跟参数

this.$router.push({name: planEstablish-SisSecureItemList, // 去 planEstablish 文件夹下寻找 SisSecureItemList组件query: { // 路由携带参数name: 小明,sex: 男,age: 22} });到跳转的另一个页面获取 created () {this.handelUrl() }handelUrl () {this.urlId this.$ro…

java天气预报_100个Java练手项目,拿去练手,不谢

多年以后,你已经是一名技术总监,有一个美丽的妻子,两个孩子;你已经拥有了现在的你想都不敢想的一切;那时,你也一定会忘记,今天这篇教程,如同一颗石子,铺就过你前进的路。…

vue报错Error in render: “TypeError: Cannot read property ‘0‘ of undefined“

报这错是因为在你刚打开页面的时候,还没获取到这个值,因为这个值是请求过来的,但是可以正常渲染,控制台报错,因为这个结构data里面是个对象,对象里面的数组刚开始没有,所以就没有。 data () {r…