element的select具有多选属性,当加上这属性时,那么v-model绑定的数据会变成一个数组,数组里的每条对象是选择的下拉框选项。
本来挺正常的,但是呢后端需要的字段类型是字符串,那么提交时就要做重组,下拉框的value绑定的是对象,那么v-model绑定的数组中每个对象都有两个字段nama/code,需要将数组进行遍历取出每个对象的name和code,再分别用顿号连接并存进两个临时变量,再将临时变量作为提交对象的两个新增属性的属性值(这不是重点)。
看似没有问题,然而一运行就会报错
1.arr.some is not a function
2.下拉框只响应第一次修改
报错1是因为element下拉框组件对象为数组,不能直接改变其类型,否则其内部组件的封装方法会报错,则只能在将绑定对象赋值操作后才能做数据重组
报错2是因为vue不能监听动态属性的添加修改删除,所以界面不会响应,但其实value是发生了变化得,则用vue.$set代替Object.xxx的方式设置/修改属性
element多选select
最新推荐文章于 2023-01-20 09:30:00 发布