日常开发中常常要是用表格展示一些数据,在我们展示这些数据时,有时需要对数据进行预处理,大多包含时间、布尔值等,偶尔在网上看到一个数据处理(或者叫数据个时候吧)的方法,记录一下吧。
<el-table-column label="时间" :formatter="formatDate" width="300" />
- 使用formatter来代替原来的prop,绑定table单行的值。
- formatter有三个形参,第一个row就是绑定formatter这一行的所有的数据。用它来格式化数据。
formatDate(row, column, cellValue) {
const startTime = new Date(row.start_time)
const endTime = new Date(row.end_time)
if (startTime.getDay() === endTime.getDay()) {
let hour = endTime.getHours()
if (hour <= 9) { hour = '0' + hour }
let min = endTime.getMinutes()
if (min <= 9) { min = '0' + min }
let sec = endTime.getSeconds()
if (sec <= 9) { sec = '0' + sec }
return row.start_time + ' - ' + hour + ':' + min + ':' + sec
} else {
let mouth = endTime.getMonth() + 1
if (mouth <= 9) { mouth = '0' + mouth }
let day = endTime.getDay()
if (day <= 9) { day = '0' + day }
let hour = endTime.getHours()
if (hour <= 9) { hour = '0' + hour }
let min = endTime.getMinutes()
if (min <= 9) { min = '0' + min }
let sec = endTime.getSeconds()
if (sec <= 9) { sec = '0' + sec }
return row.start_time + ' - ' + mouth + '-' + day + ' ' + hour + ':' + min + ':' + sec
}