This commit is contained in:
GGJ
2025-01-09 19:02:44 +08:00
commit 92e7a7a5eb
2943 changed files with 1152283 additions and 0 deletions

View File

@@ -0,0 +1,99 @@
<template>
<el-select v-model="mineStatus" placeholder="请选择区域"
multiple
collapse-tags @change="selectChange" >
<el-option :value="mineStatusValue" style="height: auto">
<el-tree :data="treedata" show-checkbox node-key="id" ref="tree" highlight-current :props="defaultProps" @check-change="handleCheckChange"></el-tree>
</el-option>
</el-select>
</template>
<script>
export default {
data() {
return {
mineStatus: "",
mineStatusValue: [],
data: [
{
id: 1,
label: "江苏省",
children: [
{
id: 4,
label: "南京市"
}
]
},
{
id: 2,
label: "安徽省",
children: [
{
id: 5,
label: "芜湖市"
},
{
id: 6,
label: "合肥市"
}
]
},
{
id: 3,
label: "浙江省",
children: [
{
id: 7,
label: "杭州市"
},
{
id: 8,
label: "温州市"
}
]
}
],
defaultProps: {
children: "children",
label: "name"
}
};
},
props:{
treedata:{
type:Array,
default:undefined
},
},
methods: {
//select框值改变时候触发的事件
selectChange(e){
var arrNew = [];
var dataLength = this.mineStatusValue.length;
var eleng = e.length;
for(let i = 0; i< dataLength ;i++){
for(let j = 0; j < eleng; j++){
if(e[j] === this.mineStatusValue[i].name){
arrNew.push(this.mineStatusValue[i])
}
}
}
this.$refs.tree.setCheckedNodes(arrNew);//设置勾选的值
},
handleCheckChange() {
let res = this.$refs.tree.getCheckedNodes(true, true); //这里两个true1. 是否只是叶子节点 2. 是否包含半选节点(就是使得选择的时候不包含父节点)
let arrLabel = [];
let arr = [];
res.forEach(item => {
arrLabel.push(item.name);
arr.push(item);
});
this.mineStatusValue = arr;
this.mineStatus = arrLabel;
// console.log('arr:'+JSON.stringify(arr))
// console.log('arrLabel:'+arrLabel)
}
}
};
</script>>