因为我们对状态这种字段,后端一般返回的是Number值。0为正常,1为停用。
el-switch,el-checkbox这种控件呢,一般是绑定布尔值的。原来我的做法是使用value和change事件来做转换,而不是v-model。但是后来发现,el-checkbox对于这种做法并没有效果。
js
<el-switch
:value="!row.status"
@change="value => {changeStatus(row, value)}"
/>
// 修改状态
changeStatus(row, value) {
console.log(value, row)
row.status = Number(!value)
},
后来看文档才发现,是可以使用v-model来绑定Number,String类型的。只需要传入参数,指定他的true值和false值即可。
正确写法
js
<el-checkbox v-model="data.status" :true-label="1" :false-label="0">停用</el-checkbox>
<el-switch v-model="data.status" :inactive-value="1" :active-value="0">停用</el-switch >
所以还是要细看文档啊呜呜呜~