vue+element-ui:table表格中的slot 、formatter属性

slot 插槽,table中表示该行内容以自定义方式展示

:formatter 方法,用来格式化内容

Function(row, column, cellValue, index)

html

<template-table
      ref="multipleTable"
      :tableData="tableData"
      :config="tableConfig"
      :pageConfig="pageConfig"
    >
    <template slot="avatar" slot-scope="scope">
       <img :src="scope.row.avatar" width="40" height="40" />
    </template>
    <template slot="btns" slot-scope="scope">
      <el-button type="text" size="small" @click="batchExamine(scope.row.commentId, 1)">通过</el-button>
      <el-button type="text" size="small" @click="batchExamine(scope.row.commentId, 2)">不通过</el-button>
    </template>
</template-table>

 

js

export default {
  data () {
    return {
      tableData: [{
    commentId: 1,
    avatar: './image.png',
    userType: 1
    }], tableConfig: { size:
'mini', headerRowClassName: 'table-header', cells: [ { prop: 'avatar', label: '用户头像', mWidth: 50, slot: true }, { prop: 'userType', label: '用户身份', mWidth: 60, formatter: this.formatUserType }, { fixed: 'right', prop: 'btns', label: '审核', mWidth: 80, slot: true } ] }, // 翻页 pageConfig: { total: 0, pageNo: 1, pageSize: 50 } } }, methods: { formatUserType (row) { let userTypes = new Map([ [1, '学生'], [2, '老师'] ]) return userTypes.get(row.userType) },
}

 

posted @ 2021-01-19 11:26  田冬雪  阅读(4585)  评论(0编辑  收藏  举报