a-tree-select组件的change修改有意义的事件名

This commit is contained in:
yaoyanan
2021-04-07 13:59:15 +08:00
parent 8065f765e3
commit 53a032bc97
4 changed files with 30 additions and 8 deletions
@@ -159,7 +159,7 @@
/*
* 使用$listeners向上暴露事件---和$emit一起使用出现的问题:change事件会执行两遍
* 解决办法:改变选中时提交的事件名*/
this.$emit('changeValue', value, obj)
this.$emit('select-change', value, obj)
},
asyncLoadTreeData (treeNode) {
return new Promise((resolve) => {
@@ -211,7 +211,7 @@
/*
* 使用$listeners向上暴露事件---和$emit一起使用出现的问题:change事件会执行两遍
* 解决办法:改变选中时提交的事件名*/
this.$emit('changeValue', '');
this.$emit('select-change', '');
this.treeValue = ''
} else if (Array.isArray(value)) {
let labels = []
@@ -10,6 +10,7 @@
:value="treeValue"
:treeData="treeData"
@change="onChange"
@search="onSearch"
v-bind="_attrs"
v-on="$listeners">
</a-tree-select>
@@ -30,6 +31,10 @@
}
},
props:{
value:{
// type: String,
required: false
},
placeholder:{
type: String,
default: '请选择',
@@ -182,8 +187,19 @@
}
},
onChange(value){
if(!value){
/*
* 使用$listeners向上暴露事件---和$emit一起使用出现的问题:change事件会执行两遍
* 解决办法:改变选中时提交的事件名*/
this.$emit('select-change', '');
}else{
this.$emit('select-change', value.value);
}
this.treeValue = value
},
onSearch(value){
console.log(value)
},
getCurrTreeData(){
return this.treeData
}
+10 -4
View File
@@ -53,10 +53,10 @@
required:false,
default:true
},
// value:{
// type: String,
// required: false
// },
value:{
// type: String,
required: false
},
placeholder:{
type: String,
default: '请选择',
@@ -262,12 +262,18 @@
},
onChange(value){
if(!value){
/*
* 使用$listeners向上暴露事件---和$emit一起使用出现的问题:change事件会执行两遍
* 解决办法:改变选中时提交的事件名*/
this.$emit('select-change', '');
this.treeValue = null
} else if (value instanceof Array) {
//多选
this.$emit('select-change', value.join(',').toString()) //修改第一次选中时,选中为空的情况
this.treeValue = value
} else {
//单选
this.$emit('select-change', value)
this.treeValue = value
}
},
+2 -2
View File
@@ -235,7 +235,7 @@
<a-row :gutter="24">
<a-col :span="12">
<a-form-item label="树字典">
<j-tree-dict v-model="formData.treeDict" :labelInValue="true" placeholder="请选择树字典" parentCode="A01" />
<j-tree-dict v-model="formData.treeDict" placeholder="请选择树字典" parentCode="A02"/>
</a-form-item>
</a-col>
<a-col :span="12">选中的值(v-model){{ formData.treeDict }}</a-col>
@@ -277,7 +277,7 @@
<a-row :gutter="24">
<a-col :span="12">
<a-form-item label="分类字典树">
<j-category-select v-model="formData.selectCategory" pCode="A01" :multiple="false"/>
<j-category-select v-model="formData.selectCategory" pCode="A02" :multiple="false"/>
</a-form-item>
</a-col>
<a-col :span="12">选中的值(v-model){{ formData.selectCategory }}</a-col>