vue+element-plus的el-tree和el-tree-select

在项目中有一个添加的类目里面有一个这样的选择,刚开始做项目一直用的是el-tree,于是做这个的时候用的也是el-select+el-tree等做完之后才发现还有更方便的el-tree-select结合,于是也做了一边接下来我把俩个方法都写上,首先是el-select+el-tree

html

<el-form-item label="类别" prop="operateType">
	<el-select v-model="operateType" ref="select" style="width: 100%">
		<el-option>
			<el-tree ref="tree" :data="options" :props="menuProps"
				@node-click="handleNodeClick" :expand-on-click-node="false"
				:check-on-click-node="true" :filter-node-method="filterNode">
			</el-tree>
		</el-option>
	</el-select>
</el-form-item>

js 

data(){
    operateType:"",
    options:[],
    menuProps: {//获取operateTypeName的名字
		label: (data) => {
			return data.operateTypeName;
			},
		},
}
//调取数据
async getGroup() {
   var res = await this.$API.接口所在位置.get();
   if(res.code===200){
       //forEach一下父子级的关系,来进行排序
        res.data.forEach((ele) => {
			const parentId = ele.parentId;
			if (parentId === 0) {
				 return;
			} else {
				res.data.forEach((e) => {
					if (e.id === parentId) {
						let childrenaa = e.children;
						if (!childrenaa) {
							childrenaa = [];
						}
						childrenaa.push(ele);
						e.children = childrenaa;
					  }
				});
			}
		});
		res.data = res.data.filter((ele) => ele.parentId === 0);
		this.options = res.data;
    }
},
//点击树
handleNodeClick(data) {
	this.operateType = data.operateTypeName;//点击渲染到选框里
	this.$refs.select.blur();
			
},

这个方法就完成了,接下来是el-tree-select这个方法

html

<el-form-item label="类别" prop="operateType">
	<el-tree-select v-model="operateType" ref="select"  :data="options" 
      node-key="id"  :props="menuProps" @node-click="handleNodeClick"/>
</el-form-item>

好了,这就ok了js都是一样的

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值