element表格的插槽

element表格的插槽有很多种,我所了解到的是表头插槽和表身插槽

表头插槽:

<el-table-column
      align="right">
      <template slot="header" slot-scope="scope">
        <el-input
          v-model="search"
          size="mini"
          placeholder="输入关键字搜索"/>
      </template>
    </el-table-column>

<template>
  <el-table
    :data="tableData.filter(data => !search || data.name.toLowerCase().includes(search.toLowerCase()))"
    style="width: 100%">
    <el-table-column
      label="Date"
      prop="date">
    </el-table-column>
    <el-table-column
      label="Name"
      prop="name">
    </el-table-column>
    <el-table-column
      align="right">
      <template slot="header" slot-scope="scope">
        <el-input
          v-model="search"
          size="mini"
          placeholder="输入关键字搜索"/>
      </template>
      <template slot-scope="scope">
        <el-button
          size="mini"
          @click="handleEdit(scope.$index, scope.row)">Edit</el-button>
        <el-button
          size="mini"
          type="danger"
          @click="handleDelete(scope.$index, scope.row)">Delete</el-button>
      </template>
    </el-table-column>
  </el-table>
</template>

<script>
  export default {
    data() {
      return {
        tableData: [{
          date: '2016-05-02',
          name: '王小虎',
          address: '上海市普陀区金沙江路 1518 弄'
        }, {
          date: '2016-05-04',
          name: '王小虎',
          address: '上海市普陀区金沙江路 1517 弄'
        }, {
          date: '2016-05-01',
          name: '王小虎',
          address: '上海市普陀区金沙江路 1519 弄'
        }, {
          date: '2016-05-03',
          name: '王小虎',
          address: '上海市普陀区金沙江路 1516 弄'
        }],
        search: ''
      }
    },
    methods: {
      handleEdit(index, row) {
        console.log(index, row);
      },
      handleDelete(index, row) {
        console.log(index, row);
      }
    },
  }
</script>

顾名思义:实际就是表格的头部我们可以插入自己想要的东西,比如上面的输入框

表身插槽 :

<el-table-column label="排序" align="center">
    <template slot-scope="scope">
       {
   
   {scope.row.bannerStatus=='1'?'确定':'未确定'}}
    </template>>
 </el-table-column>

在表格内使用计算属性:

<el-table-column label="状态" align="center">
    <template slot-scope="scope">
        <span>{
   
   { computedStatus(scope.row.approvalStatus) }}</span>
    </template>
 </el-table-column>
 
 
 
 
 
 
 
computed: {
  computedStatus() {
    return function (id) {
      let str = "";
        if (id == 0) {
          str = "需审核";
        }
        if (id == 1) {
          str = "已通过";
        }
        if (id == 2) {
          str = "已拒绝";
        }
        if (id == 3) {
          str = "已上报";
        }
        return str;
      };
    },
  },

猜你喜欢

转载自blog.csdn.net/m0_70547044/article/details/128063993
今日推荐