1、页面报错,无法执行下一步
Uncaught (in promise) TypeError: Cannot convert undefined or null to object
删除不了没有的东西
2、cascader 渲染报错,渲染过程中key重复
[Vue warn]: Error in callback for watcher "options": "TypeError: Cannot read property 'level' of null
TypeError: Cannot read property 'level' of null
解决:与一options为空的bug类似,重新渲染cascader都可以解决。
改变类型,cascader的options改变后,将cascader重新渲染。重新渲染组件的方法有两种:
1、给cascader设置v-if,改变类型后,赋值options前将v-if设置为true就可以重新渲染cascader,但是这样有个缺陷就是不流畅,v-if设置为false时cascader的位置会空白,影响用户体验。
2、给cascader设置一个key,改变类型时也改变key值,key值改变了,cascader就会重新渲染
<el-cascader :key="isResouceShow" :options="cascaderOption" :props="props" :disabled="optionsChanged" v-model="cascaderValue" collapse-tags :placeholder="showPlaceholder" /> getCascader() { this.cascaderValue= [] ++this.isResouceShow this.showPlaceholder = '请先选择所属范围' getCascader(this.type).then(response => { if(response.data.data.length === 0){ this.optionsChanged = true this.showPlaceholder = '暂无范围' return } this.cascaderOption = response.data.data }); }