element|ElementUi中Cascader级联选择器 回调问题解决
ElementUi中Cascader级联选择器 回调问题解决
1,在开发中使用了Cascader级联选择器,应用于省市联动的效果,发现问题:数据回调时不显示。
2,解决方法:使用ref进行回调处理。
this.$refs.cityShow.presentText ="复制";
// 首次手动复制
关键词是“presentText”
详细问题描述:
Cascader级联选择器中使用的是props进行的省市联动效果,而没有使用options 进行传值;
主要代码如下:
//data中props如下
props: {
lazy: true,
lazyLoad: (node, resolve) => {
const { level, value } = node;
if (level === 0) {
this.getProvince(resolve);
} else if (level === 1) {
this.getCity(value, resolve)
}
}
},方法如下:
getProvince(resolve) {
this.$http.getProvince((res) => {
console.log("555", res)
if(res.code === 0 && res.data && res.data.provinceArray) {
const provinceList = res.data.provinceArray.map(item => ({
value: item,
label: item.provinceName,
leaf: false,
}))
resolve && resolve(provinceList)
}
})
},
getCity(data, resolve) {
this.$http.getCity({ provinceId: data.provinceCode }, (res) => {
if(res.code === 0 && res.data && res.data.cityArray) {
const cityList = res.data.cityArray.map(item => ({
value: item,
label: item.cityName,
leaf: true,
}))
resolve && resolve(cityList)
}
console.log("666", res)
})
},
【element|ElementUi中Cascader级联选择器 回调问题解决】解决方案
在mounted中或者 watch处理
mounted() {
setTimeout(()=>{
this.$refs.cityShow.presentText = this.companyInfo.provinceName +"/" + this.companyInfo.cityName;
// 首次手动复制
this.$refs.areaShow.value = https://www.it610.com/article/this.companyInfo.regionName;
},1000)
},
watch:{
selectCity(arr){
//处理回显问题
setTimeout(()=>{
this.$refs.cityShow.presentText = arr[0].provinceName +"/" + arr[1].cityName;
// 首次手动复制
},1000)
}
},
computed: {
//工作地点回显问题
selectCity(){
return this.job.userAddress.selectedCity;
},
}
推荐阅读
- 热闹中的孤独
- Shell-Bash变量与运算符
- JS中的各种宽高度定义及其应用
- 2021-02-17|2021-02-17 小儿按摩膻中穴-舒缓咳嗽
- 深入理解Go之generate
- 异地恋中,逐渐适应一个人到底意味着什么()
- 我眼中的佛系经纪人
- 《魔法科高中的劣等生》第26卷(Invasion篇)发售
- “成长”读书社群招募
- 2020-04-07vue中Axios的封装和API接口的管理