如何在Vue+Vuetify的v-data-table中将true/false转换为激活/停用显示
第一步:修改v-data-table状态列的显示规则
直接在你的<v-data-table>组件内部,和已有的item.actions插槽同级,新增状态列的自定义插槽即可完成布尔值转文本的逻辑,无需修改后端接口或数据处理逻辑:
<template v-slot:item.numberstatate="{ item }"> <span :class="item.numberstatate ? 'green--text' : 'grey--text'"> {{ item.numberstatate ? '激活' : '停用' }} </span> </template>
上述代码还额外加了文本颜色区分,激活状态显示绿色、停用状态显示灰色,可根据你的视觉需求调整。
可选优化:调整编辑弹窗的状态输入组件
你当前弹窗里状态用的是文本输入框,用户手动输入容易出现格式错误,建议替换为开关组件,更符合布尔值的操作习惯,且提交给后端的还是原生布尔值,完全兼容现有接口:
找到弹窗内状态对应的<v-text-field>,替换为以下代码即可:
<v-switch v-model="editedItem.numberstatate" label="状态" color="primary" :hint="editedItem.numberstatate ? '当前为激活状态' : '当前为停用状态'" persistent-hint ></v-switch>
内容的提问来源于stack exchange,提问作者dudeiale
相关产品推荐
相关产品推荐

