el-table-column字段格式化转换,formatter属性使用

el-table-column字段格式化转换,formatter属性使用

el-table-column是element ui框架中table的子元素,用于控制单列字段的展示,本文介绍el-table-column的formatter属性的使用

element ui的table-column官方文档地址:https://element.eleme.cn/#/zh-CN/component/table#table-column-attributes

1. table-column formatter属性介绍

下面是element ui官方文档的描述

参数 说明 类型 可选值 默认值
formatter 用来格式化内容 Function(row, column, cellValue, index) --- ---

2. 使用方式

2.1. 无传参方式

2.1.1. 代码示例
复制代码
<template>
    <el-table
      :data="tableData"
      style="width: 100%">
      <el-table-column
        prop="name"
        label="姓名"
        width="180">
      </el-table-column>
       <el-table-column
        prop="status"
        label="状态" :formatter='statusFormatter' >
      </el-table-column>
    </el-table>
  </template>

  <script>
    export default {
        methods: {
     	 statusFormatter(row, column, cellValue, index) {
         if('0' === cellValue){
           return 'offline'
         }else if('1' === cellValue){
           return 'online'
         }
         return '-';
      }
    },
      data() {
        return {
          tableData: [{
            name: '王小虎',
            status: '1'
          }, {
            name: '王大虎',
            status: '0'
          }]
        }
      }
    }
  </script>
2.1.2. 效果
姓名 状态
王小虎 online
王大虎 offline

2.2. 带传参数方式

2.2.1. 代码示例
复制代码
<template>
    <el-table
      :data="tableData"
      style="width: 100%">
      <el-table-column
        prop="name"
        label="姓名"
        width="180">
      </el-table-column>
       <el-table-column    
        label="性别" :formatter="(row) => codeFormatter(row.sex,this.sexOptions)" >
      </el-table-column>
       <el-table-column
        label="状态" :formatter="(row) => codeFormatter(row.status,this.statusOptions)" >
      </el-table-column>
    </el-table>
  </template>

  <script>
    export default {
       methods: {
     	 codeFormatter(code, options) {
         	for(let i=0;i<options.length;i++){
             	let option = options[i]
         	    if(option!=null && option.code === code){
         	   	 return option.label
         	   }
         	}
         return '-';
      }
    },
      data() {
        return {
          tableData: [{
            name: '王小美',
            sex: 0,
            status: '1'
          }, {
            name: '王大虎',
            sex: 1,
            status: '0'
          }],
          sexOptions: [{
             code: 0,
             label: '女'
          }, {
             code: 1,
             label: '男'
          }],
          statusOptions: [{
            code: '0',
            label: 'offline'
          }, {
            code: '1',
            label: 'online'
          }]
        }
      }
    }
  </script>
2.2.2. 效果
姓名 性别 状态
王小美 online
王大虎 offline
相关推荐
蚂蚁不吃土&19 小时前
cmd powershell svm nodejs npm
前端·npm·node.js
Moment19 小时前
别再让 JavaScript 抢 CSS 的活儿了,css原生虚拟化来了
前端·javascript·css
CQ_YM19 小时前
Linux进程终止
linux·服务器·前端·进程
晓得迷路了19 小时前
栗子前端技术周刊第 110 期 - shadcn/create、Github 更新 npm 令牌政策、Deno 2.6...
前端·javascript·css
nvd1119 小时前
GKE web 应用实现 Auth0 + GitHub OAuth 2.0登录实施指南
前端·github
前端小端长19 小时前
项目里满是if-else?用这5招优化if-else让你的代码清爽到飞起
开发语言·前端·javascript
胡萝卜3.019 小时前
现代C++特性深度探索:模板扩展、类增强、STL更新与Lambda表达式
服务器·开发语言·前端·c++·人工智能·lambda·移动构造和移动赋值
AI_567819 小时前
Vue3组件通信的实战指南
前端·javascript·vue.js
烤麻辣烫19 小时前
黑马大事件学习-16 (前端主页面)
前端·css·vue.js·学习
Dragon Wu19 小时前
TanStack Query(React Query) 使用总结
前端·react.js·前端框架·react