问题
由于mysql数据库没有Boolean类型,他将Boolean作为tinyint(1)的别名,因此使用Boolean类型作为字段时也可以建表.但实际上保存的是将true转换为1,false转换为0保存
取出的数据返回到前端显示,但是v-model绑定只能是个变量,不能使用三元表达式scope.row.isAdmin ? true:false使用后switch能显示正确状态,但不能拖动.
解决方案
查阅element-ui官方文档,发现有两个属性可以解决:
参数 | 说明 | 类型 | 可选值 | 默认值 |
---|---|---|---|---|
active-value | switch 打开时的值 | boolean / string / number | — | true |
inactive-value | switch 关闭时的值 | boolean / string / number | — | false |
随将active-value改为1,inactive-value改为0解决问题
<el-switch
v-model="scope.row.isAdmin"
:active-value="1"
:inactive-value="0"
@change="userIsAdminChanged(scope.row)">
</el-switch>