elementUI中对table数据显示进行转换

251 篇文章 18 订阅

在项目中需要用到数据转换,如:性别,0为男性,1为女性,存在数据库中的数据为0或1,那么我们需要使用 :formatter 来进行数据转换。

列表界面

以下附上代码:

// 列表column
<el-table-column label="性别" align="center" prop="cadreSex" :formatter="formatSex" />

JS代码:

 

// 性别数据转换
    formatSex(row){
        return row.cadreSex === 0 ? "男" : row.cadreSex === 1 ? "女" : "未填写";
    },

总结:
1、使用 :formatter 定义方法
2、定义数据转换方法,需要传入的值为row
3、可以使用 :formatter 来进行自定义设计规则

 

### 回答1: elementuitable的formatter是一个函数,用于格式化表格数据。它可以将数据转换为需要的格式,例如将日期格式化为特定的格式,将数字格式化为货币格式等等。在使用table组件时,可以通过设置formatter属性来指定需要使用的格式化函数。 ### 回答2: Element UI 是一个基于 Vue.js 的 UI 框架,其 table 组件是常用的表格展示组件之一,提供了许多有用的属性和方法来满足不同的需求,其 formatter 是其比较常用的一个属性。 formatter 是 table 组件的一个列属性,用于统一对列数据进行格式化。其接受一个函数作为参数,该函数接收两个参数:该列数据和当前行数据,返回格式化后的数据作为该列的内容展示。 使用 formatter 可以解决一些常见的需求,比如将日期字符串转换为时间戳,将数字保留固定小数位等。具体实现如下: ```html <el-table :data="tableData"> <el-table-column label="时间" prop="time" :formatter="formatTimestamp"></el-table-column> <el-table-column label="价格" prop="price" :formatter="formatPrice"></el-table-column> ... </el-table> ``` ```javascript export default { data() { return { tableData: [ { time: '2022-11-11 11:11:11', price: 19.99, ... }, { time: '2022-12-12 12:12:12', price: 29.99, ... }, ... ] } }, methods: { formatTimestamp(row, column) { return new Date(row[column.property]).getTime() / 1000 }, formatPrice(row, column) { return row[column.property].toFixed(2) }, ... } } ``` 上述代码,`formatTimestamp` 函数将时间字符串转换为时间戳,`formatPrice` 函数将价格保留两位小数。这两个函数都会接收当前行数据和该列数据作为参数,在函数内部进行处理后返回格式化后的数据。 除了传递函数作为参数,formatter 属性还可以直接传递字符串,这可以用于简单的文本格式化,例如使用字体样式或颜色。 总而言之,formatter 是 Element UI table 组件十分实用的一个属性,能够轻松地对列数据进行格式化。在实际开发,需要根据具体需求选择合适的函数或方法来实现对数据的格式化。 ### 回答3: ElementUI 是一个基于 Vue.js 的桌面端组件库,其table 组件是非常常用的一种,它可以方便的展示数据,并支持多种自定义操作。其的 formatter 是 table 组件的一个非常常用的属性,下面将详细介绍它的用法和意义。 1. formatter 属性的作用是什么? formatter 属性可以用于表格单元格内展示的数据格式化,我们可以通过 formatter 属性来将所有的单元格内容格式化,达到更好的显示效果和更合理的数据管理。 2. formatter 属性的使用方法是什么? formatter 属性的使用方法如下: ``` <el-table-column prop="date" label="日期" formatter={row, column, cellValue, index}></el-table-column> ``` 其的 row 和 column 是当前行和当前列对象,cellValue 是当前单元格的值,index 是当前行的索引。在 formatter 函数,我们可以对 cellValue 进行任意的操作,并通过 return 返回新的值,这样就可以格式化单元格内容了。 3. formatter 属性的常用例子有哪些? (1)金额格式化 我们有时候需要将单元格的金额转化为一定的格式,比如加上逗号,保留两位小数等,可以通过 formatter 函数实现,代码如下: ``` <el-table-column prop="amount" label="金额" formatter={row, column, cellValue, index}> {`¥${cellValue.toFixed(2).replace(/\d{1,3}(?=(\d{3})+(\.\d*)?$)/g, '$&,')}`} </el-table-column> ``` 这里使用了正则表达式来给金额后面添加逗号,保留两位小数。注意,这里的 currency 是在 formatter 单独处理了的,前面加上了 ¥ 符号。 (2)状态显示 表格有些列需要根据状态显示相应的图标,比如进行、完成或失败等,我们可以在 formatter 函数内判断状态,并展示相应的图标,代码如下: ``` <el-table-column prop="status" label="状态" formatter={row, column, cellValue, index}> {cellValue === '进行' ? <i class="el-icon-loading"></i> : cellValue === '已完成' ? <i class="el-icon-circle-check"></i> : <i class="el-icon-circle-close"></i>} </el-table-column> ``` 在这个例子,我们将不同状态对应的图标展示出来,所有的图标 HTML 都是在 formatter 设置的,最终会生成对应的图标。 (3)课程展示 如果我们是一个在线培训网站,那么课程列表展示的效果就非常重要了,我们可以通过在 formatter 函数内自定义显示样式,来提高用户对课程的体验,代码如下: ``` <el-table-column label="内容" formatter={row, column, cellValue, index}> <div class="lesson-block"> <img :src="row.poster" alt="封面" class="lesson-cover"> <div class="lesson-info"> <h3 class="lesson-title">{row.title}</h3> <p class="lesson-teacher">{row.teacher}</p> <div class="lesson-footer"> <span class="lesson-duration">{row.duration}</span> <el-button type="primary" class="lesson-button">播放</el-button> </div> </div> </div> </el-table-column> ``` 这里我们展示的是课程方块,使用了一个包含图片、标题、作者、阅读量、时长等多项信息的方块来展示课程,大大提高了用户的使用体验。 除了上面这些例子,还有很多其他的使用 formatter 属性的方式,比如时间格式化、性别转换、数字转化等,通过 formatter 属性,我们可以实现表格数据的灵活呈现,提高用户使用体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值