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;
};
},
},