You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vue3 Element-plus中el-table列sex值转男女显示的实现方法

Element Plus el-table 性别值转换显示方案

方法1:利用列的formatter属性(最推荐)

el-table-column自带formatter属性,专门用于格式化单元格内容,写个简单的转换函数就能搞定:

<el-table :data="userList">
  <el-table-column prop="sex" label="性别" :formatter="formatSex" />
</el-table>

<script setup>
// 模拟从数据库获取的原始数据
const userList = [
  { id: 1, sex: 1, name: '张三' },
  { id: 2, sex: 2, name: '李四' },
  { id: 3, sex: 0, name: '王五' } // 兼容异常值
]

// 性别转换函数
const formatSex = (row, column, cellValue) => {
  switch(cellValue) {
    case 1: return '男'
    case 2: return '女'
    default: return '未知'
  }
}
</script>

方法2:使用表格插槽自定义内容

如果需要给性别加样式(比如不同性别用不同颜色),用插槽会更灵活:

<el-table :data="userList">
  <el-table-column label="性别">
    <template #default="{ row }">
      <span :class="row.sex === 1 ? 'male-text' : 'female-text'">
        {{ row.sex === 1 ? '男' : row.sex === 2 ? '女' : '未知' }}
      </span>
    </template>
  </el-table-column>
</el-table>

<style scoped>
.male-text { color: #3b82f6; }
.female-text { color: #ec4899; }
</style>

方法3:提前转换原始数据

如果后续多处要用到转换后的性别,建议在获取数据时直接处理字段:

<script setup>
import { ref, onMounted } from 'vue'

const userList = ref([])

onMounted(async () => {
  // 模拟接口请求获取数据
  const rawData = await fetchUserList()
  // 遍历转换sex字段
  userList.value = rawData.map(item => ({
    ...item,
    sex: item.sex === 1 ? '男' : item.sex === 2 ? '女' : '未知'
  }))
})

// 模拟接口函数
const fetchUserList = () => {
  return Promise.resolve([
    { id: 1, sex: 1, name: '张三' },
    { id: 2, sex: 2, name: '李四' }
  ])
}
</script>

<el-table :data="userList">
  <el-table-column prop="sex" label="性别" />
</el-table>

为什么你之前用v-if没成功?

你大概率是把v-if写在了el-table-column标签上,这种写法是控制整个列的显示/隐藏,而非单元格内容的判断。要实现内容转换,需要把v-if放在插槽内部的元素上,比如:

<el-table-column label="性别">
  <template #default="{ row }">
    <span v-if="row.sex === 1">男</span>
    <span v-else-if="row.sex === 2">女</span>
    <span v-else>未知</span>
  </template>
</el-table-column>

这种写法也能生效,但不如前面的方法简洁高效。

内容的提问来源于stack exchange,提问作者Trottenheimer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 23:42:56