当前位置:网站首页>el-select和el-tree结合使用-树形结构多选框
el-select和el-tree结合使用-树形结构多选框
2022-08-02 03:35:00 【m0_67390969】
接上篇文章需求,选择树形结构的时候有多选的情况,用上一篇的单选并不能解决问题,下图是这次达到的效果

话不多说,上代码
html
<el-select v-model="value" multiple placeholder="请选择" :popper-append-to-body="false">
<el-option :value="selectTree" class="setstyle" disabled>
<el-tree :data="list" :props="defaultProps" ref="tree"
show-checkbox check-strictly :expand-on-click-node="false"
check-on-click-node @check-change="handleNodeClick"></el-tree>
</el-option>
</el-select>
js
<script>
export default {
data() {
return {
value:[],
selectTree:[],
defaultProps:{
children: 'children',
label: 'label'
},
list: [{
id: 1,
label: '一级 2',
children: [{
id: 3,
label: '二级 2-1',
children: [{
id: 4,
label: '三级 3-1-1'
}, {
id: 5,
label: '三级 3-1-2',
}]
}, {
id: 2,
label: '二级 2-2',
children: [{
id: 6,
label: '三级 3-2-1'
}, {
id: 7,
label: '三级 3-2-2',
}]
}]
}],
}
},
methods: {
handleNodeClick(data,self,child) {
console.log(this.$refs.tree.getCheckedNodes())
let datalist = this.$refs.tree.getCheckedNodes()
this.selectTree = [] //置空
this.value = []
datalist.forEach((item)=>{
this.selectTree.push({id:item.id,label:item.label})
this.value.push(item.label)
})
}
},
}
</script>
css 纠正样式问题,其中cursor修改禁用后的鼠标状态,
.setstyle {
min-height: 200px;
padding: 0 !important;
margin: 0;
overflow: auto;
cursor: default !important;
}
思路:通过el-tree来选择所需要的节点和获取数据,将el-select的选择关闭,防止点击时报错,通过el-tree获取的数据来关联el-select并渲染输入框的内容,而不是通过option来获取数据(所以el-option的状态时disabled)。
重点:
1.this.$refs.tree.getCheckedNodes() 获取选中的节点
2.cursor:default 修改鼠标状态
3.check-change 节点选中状态发生变化时触发
涉及内容:
popper-append-to-body
是否将弹出框插入至 body 元素。在弹出框的定位出现问题时,可将该属性设置为 false
boolean
show-checkbox
节点是否可被选择
boolean
check-strictly
在显示复选框的情况下,是否严格的遵循父子不互相关联的做法,默认为 false
boolean
expand-on-click-node
是否在点击节点的时候展开或者收缩节点, 默认值为 true,如果为 false,则只有点箭头图标的时候才会展开或者收缩节点。
boolean
check-on-click-node
是否在点击节点的时候选中节点,默认值为 false,即只有在点击复选框时才会选中节点。
boolean
先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦
边栏推荐
猜你喜欢
随机推荐
位居榜首 | 未来智安荣登CCIA「2022年中国网安产业潜力之星」榜单
《2022年中国网络安全市场全景图》
3个最佳实践助力企业改善供应链安全
步兵相关连接
The slave I/O thread stops because master and slave have equal MySQL server ids
shell脚本的基础知识
LVS+Keepalived实现高可用的负载均衡
字符串哈希
工作过程中问题汇总
MySQL5.7的安装编译及报错的解决方法
未来智安XDR入选《CCSIP 2022中国网络安全产业全景图》
【TCS3200 color sensor and Arduino realize color recognition】
OpenSSF安全计划:SBOM将驱动软件供应链安全
Beckhoff ET2000 listener use
AD Actual Combat
学习(三):事件的订阅与发布
flask简单接口实现
激光驱鸟器
h264转flv
ansible的安装与部署








