ElementPlus使用 Table组件的 cell-style

习和通
2023-12-01

环境:vue: 3.0.0, element-plus: 1.0.2-beta.65

现有一个需求:给排行榜前3个排名下增加一个底图:第一名1.png,第二名2.png,第三名3.png。

template:

<el-table :data="filteredResults.data" :cell-style="changeRankBkgnd" ...>

script:


const changeRankBkgnd = ({rowIndex, columnIndex}) => {
  if (rowIndex < 3 && columnIndex === 0) {
    const img = require(`@/assets/images/weather_leaderboard/${rowIndex+1}.png`)
    return `background: url("${img}") no-repeat center; background-size: 23px 25px; background-position-y: 4px; text-align: center; padding: 0px`
  }
  return "text-align: center; padding: 0px"
}

使用调试工具,一步步解决了:

1.函数对象原型问题:(row,col,rowIndex,columnIndex)应该是 element-ui 版本原型

2.返回值格式问题,试了下列格式:

  • "{text-align: 'center', padding: '0px'}",和 cell-style 字符串格式一样,但不行
  • "text-align: 'center'; padding: '0px'"
  • "text-align: center; padding: 0px",这个可以

3.返回图像问题

 类似资料: