vue3中<el-table-column>状态的显示

方法 1:使用作用域插槽 + <el-tag> 标签

javascript 复制代码
<template>
  <el-table :data="tableData">
    <!-- 其他列 -->
    <el-table-column prop="status" label="状态">
      <template #default="{ row }">
        <el-tag :type="row.status === 1 ? 'success' : 'danger'">
          {{ row.status === 1 ? '启用' : '禁用' }}
        </el-tag>
      </template>
    </el-table-column>
  </el-table>
</template>

<script setup>
const tableData = [
  { id: 1, name: '数据1', status: 1 },
  { id: 2, name: '数据2', status: 0 },
  // ...
]
</script>

方法 2:使用 formatter 格式化显示

javascript 复制代码
<template>
  <el-table :data="tableData">
    <el-table-column
      prop="status"
      label="状态"
      :formatter="statusFormatter"
    ></el-table-column>
  </el-table>
</template>

<script setup>
const statusFormatter = (row) => {
  return row.status === 1 ? '启用' : '禁用'
}
</script>

自定义颜色样式

如果需要更个性化的样式,可以自定义 CSS 类名:

javascript 复制代码
<template>
  <el-table-column prop="status" label="状态">
    <template #default="{ row }">
      <span :class="['status-label', row.status === 1 ? 'active' : 'inactive']">
        {{ row.status === 1 ? '启用' : '禁用' }}
      </span>
    </template>
  </el-table-column>
</template>

<style>
.status-label.active {
  color: #67C23A;
  font-weight: bold;
}
.status-label.inactive {
  color: #F56C6C;
  font-style: italic;
}
相关推荐
丢,捞仔16 分钟前
uni-app上架应用添加权限提示框
前端·javascript·uni-app
Hilaku22 分钟前
我是如何用一行 JS 代码,让你的浏览器内存瞬间崩溃的?
前端·javascript·node.js
五仁火烧25 分钟前
npm run build命令详解
前端·vue.js·npm·node.js
哈__27 分钟前
React Native 鸿蒙跨平台开发:简易记事本 APP
javascript·react native·react.js
贺今宵27 分钟前
electron-vue无网络环境,读取本地图片/文件展示在页面vue中protocol
前端·javascript·electron
老前端的功夫31 分钟前
TypeScript索引访问类型深度解析:类型系统的动态访问与模式匹配
前端·javascript·ubuntu·架构·typescript·前端框架
张元清34 分钟前
大白话讲 React2Shell 漏洞:智能家居的语音助手危机
前端·javascript·react.js
志摩凛35 分钟前
Element UI 长表单校验失败后自动展开折叠面板并滚动定位
数据结构·vue.js
boooooooom36 分钟前
手写高质量深拷贝:攻克循环引用、Symbol、WeakMap等核心难点
javascript·面试
xiaoyan201536 分钟前
2026原创Electron39.2+Vue3+DeepSeek从0-1手搓AI模板桌面应用Exe
vue.js·electron·deepseek