1. 修改数组没有触发VUE的界面更新问题:
问题描述
:
创建了一个数组,导入数据,页码可以正常显示;再删除数组时,调用 arr.length = 0;发现UI没有更新!!!
解决方法
:
删除时调用: arr = [];
原因
:
由于 JavaScript 的限制,Vue 不能检测以下变动的数组:
1.当你利用索引直接设置一个项时,例如:vm.items[indexOfItem] = newValue
2.当你修改数组的长度时,例如:vm.items.length = newLength
为了解决第一类问题,以下两种方式都可以实现和 vm.items[indexOfItem] = newValue 相同的效果,同时也将触发状态更新,例如:
//这个是初始化未渲染的数据才这样处理
Vue.set(example1.items, indexOfItem, newValue)
或者
// Array.prototype.splice
example1.items.splice(indexOfItem, 1, newValue)
解决第二类问题
example1.items.splice(newLength)
2. el-select el-option如何获取到value label??
解决方法
:
:value的传值采用字符串拼接,有隐患但是方便啊~~~(其实还有其他方法,这里不归纳了)
<el-select v-model="roomBuilding" @change="buildSelected">
<el-option v-for="item in roomSearchInline.buildingArr" :key='item.id' :label="item.name" :value="`${item.id}|${item.name}`">
</el-option>
</el-select>
获取值时采用:
let id_name_arr = this.roomBuilding.split('|');
console.log(id_name_arr[0]);
console.log(id_name_arr[1]);
3. vue界面传参的几种方式:
下班吃饭了。。。后面在写o( ̄︶ ̄)o
网友评论