当我们从后端获取数据接口,用**uView UI**来渲染列表的时候,如果类表中包含u-switch组件,而对u-switch组件进行监听的时候.
针对switch的监听
在ele-ui中 我们可以在change时间中传入两个参数 一个$event,另外可以传入id从而能获取到每一个item的标志.
在layui中,也可以在监听方法的回调函数的参数中获取相应的item的标志
然后再uview-ui中
<u-switch slot="right" @change="schange(item.id)" ></u-switch>
schange(val,id){
var _this = this;
console.log('val',val);
console.log('id',id);
}
解决方案
在文档中我们可以看到 我可以针对开关状态的值进行自定义于是 我们可以这样写
<u-switch slot="right" @change="schange" :active-value="item.id + '-' + 0" :inactive-value="item.id + '-' + 1" v-model="item.status"></u-switch>
schange(val){
var _this = this;
let arr = val.split('-');
let id = arr[0];
let status = arr[1];
},
这样我们就可以获取到了修改的值以及所对应的item了
另外在头条小程序和微信小程序中的写法有所不同.
如果您有更好的解决办法,期待您的留言哦