VUE + element使用 el-table 组件实现不同的状态值显示不同的颜色?

先看想要的效果:

因为现在从后台请求的数据都是离线的。所以都是红色,如果有在线的 ,字体需要变成绿色

直接代码附上:

          <el-table-column prop="temperatureStatus" label="状态">
            <template scope="scope">
              <span
                v-if="scope.row.temperatureStatus == '正常'"
                style="color: #039e2a"
                >{{ scope.row.temperatureStatus }}</span
              >
              <span
                v-else-if="scope.row.temperatureStatus == '异常'"
                style="color: #db3a36"
                >{{ scope.row.temperatureStatus }}</span
              >
            </template>
          </el-table-column>

这样写就可以了

 

虽然给定引用未直接涉及Vue2 + Elementel - table通过筛选显示列表列的纯前端实现详细步骤,但可以结合Element UI和Vue2的常规使用方法给出以下步骤: ### 1. 创建Vue项目并引入Element UI 确保已经安装了Vue CLI,使用以下命令创建一个新的Vue项目: ```bash vue create my - project cd my - project ``` 安装Element UI: ```bash npm install element-ui -S ``` 在`main.js`中引入Element UI: ```javascript import Vue from 'vue'; import ElementUI from 'element-ui'; import 'element-ui/lib/theme-chalk/index.css'; import App from './App.vue'; Vue.use(ElementUI); new Vue({ render: h => h(App), }).$mount('#app'); ``` ### 2. 在组件使用el - table 在`App.vue`或者其他组件使用`el - table`,示例代码如下: ```vue <template> <div> <el-table :data="tableData" style="width: 100%"> <el-table-column prop="date" label="日期" width="180"></el-table-column> <el-table-column prop="name" label="姓名" width="180"></el-table-column> <el-table-column prop="address" label="地址"></el-table-column> </el-table> </div> </template> <script> export default { data() { return { tableData: [ { date: '2024-01-01', name: '张三', address: '北京市朝阳区' }, { date: '2024-01-02', name: '李四', address: '上海市浦东新区' } ] }; } }; </script> ``` ### 3. 实现筛选功能 添加筛选条件输入框和筛选按钮,通过`computed`属性实现筛选逻辑。 ```vue <template> <div> <el-input v-model="filterText" placeholder="请输入筛选关键字"></el-input> <el-button @click="doFilter">筛选</el-button> <el-table :data="filteredData" style="width: 100%"> <el-table-column prop="date" label="日期" width="180"></el-table-column> <el-table-column prop="name" label="姓名" width="180"></el-table-column> <el-table-column prop="address" label="地址"></el-table-column> </el-table> </div> </template> <script> export default { data() { return { tableData: [ { date: '2024-01-01', name: '张三', address: '北京市朝阳区' }, { date: '2024-01-02', name: '李四', address: '上海市浦东新区' } ], filterText: '' }; }, computed: { filteredData() { if (!this.filterText) { return this.tableData; } return this.tableData.filter(item => { return Object.values(item).some(value => { return String(value).includes(this.filterText); }); }); } }, methods: { doFilter() { // 这里可以添加额外的逻辑,目前筛选逻辑在computed中已经实现 } } }; </script> ``` ### 4. 显示筛选结果 当用户输入筛选关键字并点击筛选按钮时,`computed`属性`filteredData`会根据输入的关键字对`tableData`进行筛选,并将筛选结果显示在`el - table`中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值