分享一个element-ui级联选择器的搜索问题,顺便问下有没有解决方案。
楼主做的是一个三级联动的城市筛选,
后台给过来的数据并不全是按照label, value, children的key给到我,
数据格式
但是官方的props只能指到一级,具体指到2-3级我还不没弄明白。
于是 , 需要自己转换
我自己的思路:
将前面两级的key全部转换成最后一级
props: { value: 'disCode', label: 'disName', children: 'district'}
方法
getGetallareas () { let para = new URLSearchParams() para.append('userId', this.userId) getallareas(para).then((res) => { console.log(res) this.options = res.data let d = [] for (let i = 0; i < this.options.length; i++) { let a = {} a.disName = this.options.proName a.disCode = this.options.proCode a.district = this.options.cities d.push(a) let e = [] console.log(d) d.district.forEach(element => { let b = {} b.disName = element.cityName b.disCode = element.cityCode b.district = element.district e.push(b) }) d.district = e } this.options = d })},
效果
那么问题来了,
我输入北京搜索
好的 完全没有问题
我继续输入广东
显示无匹配数据,
然后看看控制台
报了一个 无法读取toLowerCase的错误,
然而当我输入白云的时候,
请问踩过这个坑的朋友们有什么解决方案吗,
有的话,请分享一下,拜谢!
我自己的备用解决方法将会使用select,,,, |
免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。
版权声明:作者保留权利,不代表天盟立场。
|
|
|
|
当时用的什么方法还记得吗?我也在考虑这个问题,但是好像除了修改源代码比较方便以外,其他办法都比较麻烦。但是修改源代码不利于维护。 |
|
|
|
|