vue antui表单,有一个字段名为online,如果值为0时,文字显示红色
时间: 2024-09-21 11:03:28 浏览: 42
在Vue Ant Design (AntUI) 中,如果你想实现当某个表单字段`online`的值为0时,其文本显示为红色,你可以利用Ant Design提供的条件渲染功能结合Vue的数据绑定和CSS类名动态切换。这里是一个简单的示例:
首先,在HTML模板上,你可以设置一个`<el-form-item>`标签来包含该字段,并添加一个自定义的`status-text`元素用于显示文本:
```html
<template>
<el-form-item label="在线状态" :rules="{ required: true }">
<span v-if="item.online === 0" class="text-danger">{{ item.onlineText }}</span>
<input type="number" v-model="item.online" placeholder="请输入在线状态" />
</el-form-item>
</template>
```
然后,在你的Vue组件数据里,定义一个对象`item`来存储表单字段的信息,包括`online`和`onlineText`:
```javascript
data() {
return {
item: { online: 0, onlineText: '未上线(0)' },
};
},
```
最后,为了实现在`online`变化时动态改变颜色,你可以监听`online`属性的变化,比如在`watch`或`computed`中:
```javascript
// 如果你希望在在线状态更改时实时更新文字颜色
watch: {
item.online(newOnline) {
this.item.onlineText = newOnline === 0 ? '未上线(0)' : `${newOnline} 线上`;
// 更新文本样式,假设你已经引入了Ant Design的样式库并有`.text-danger`
if (newOnline === 0) {
this.$refs.formItem.querySelector('.text-danger').classList.add('ant-form-item-explain-error');
} else {
this.$refs.formItem.querySelector('.text-danger').classList.remove('ant-form-item-explain-error');
}
},
},
```
在这个例子中,当`online`的值变为0时,会添加红色字体的CSS类`ant-form-item-explain-error`,非0则移除。
阅读全文