当前位置:首页 > 前端教程

elementui formatter

2026-03-06 00:06:17前端教程

ElementUI 表格列内容格式化(formatter)

ElementUI 的表格组件(el-table)提供了 formatter 属性,用于对列数据进行自定义格式化处理。该属性接收一个函数,函数参数为当前行数据、当前列配置和单元格值,返回格式化后的内容。

基本用法

在 el-table-column 中定义 formatter 函数:

<el-table :data="tableData">
  <el-table-column prop="date" label="日期" :formatter="formatDate"></el-table-column>
</el-table>

对应的 JavaScript 方法:

methods: {
  formatDate(row, column, cellValue) {
    // 对日期进行格式化处理
    return new Date(cellValue).toLocaleDateString()
  }
}

格式化数值

格式化数值为货币格式:

formatCurrency(row, column, cellValue) {
  return '¥' + cellValue.toFixed(2)
}

格式化状态

将状态码转换为文字描述:

formatStatus(row, column, cellValue) {
  const statusMap = {
    0: '未开始',
    1: '进行中',
    2: '已完成'
  }
  return statusMap[cellValue] || '未知状态'
}

多参数格式化

结合多个字段进行格式化:

formatFullName(row, column, cellValue) {
  return `${row.firstName} ${row.lastName}`
}

使用第三方库

结合 moment.js 格式化日期:

import moment from 'moment'

formatDateTime(row, column, cellValue) {
  return moment(cellValue).format('YYYY-MM-DD HH:mm:ss')
}

注意事项

  • formatter 函数应保持纯函数特性,避免副作用
  • 复杂格式化逻辑建议提取到单独的工具函数中
  • 性能敏感场景应考虑缓存格式化结果
  • 国际化场景建议结合 i18n 使用

替代方案

对于更复杂的格式化需求,可以考虑使用 scoped slots:

<el-table-column prop="date" label="日期">
  <template slot-scope="scope">
    {{ customFormat(scope.row.date) }}
  </template>
</el-table-column>

elementui formatter

分享给朋友:

相关文章

elementui中文网

elementui中文网

Element UI 中文网相关信息 Element UI 是一款基于 Vue.js 的开源 UI 组件库,由饿了么前端团队开发和维护。以下是关于 Element UI 中文网的相关信息: 官方网站…

elementui按需

elementui按需

ElementUI 按需引入方法 ElementUI 支持按需引入组件,以减少最终打包体积。以下是具体实现方式: 安装 babel-plugin-component 需要安装官方推荐的 babel…

elementui锁屏

elementui锁屏

ElementUI 锁屏功能实现 ElementUI 本身并未直接提供锁屏组件,但可以通过遮罩层、自定义指令或结合 Vue 路由守卫实现类似效果。以下是几种常见实现方式: 使用遮罩层与自定义指令…

elementui require

elementui require

ElementUI 引入方式 ElementUI 可以通过多种方式引入到项目中,具体选择取决于项目需求和开发环境。 npm 安装 适用于 Vue.js 项目,通过 npm 或 yarn 安装 El…

elementui ref

elementui ref

ElementUI 中使用 ref 的方法 在 ElementUI 中,ref 主要用于获取组件实例或 DOM 元素的引用,方便直接调用组件方法或操作 DOM。以下是几种常见的使用场景和示例: 获…

elementui重写

elementui重写

重写 Element UI 组件的方法 Element UI 是一个基于 Vue.js 的组件库,重写其组件可以通过以下几种方式实现,具体取决于需求场景。 全局样式覆盖 通过修改 CSS 变量或覆…