el-table-column type="index" 插槽实现
时间: 2023-12-28 14:04:19 浏览: 190
el-table-column 的 type 属性为 "index" 时,会生成序号列。而序号列的内容是通过插槽实现的,如果需要自定义序号列的样式或内容,可以使用插槽。
在 el-table-column 中使用插槽需要使用 slot-scope 属性,并指定作用域插槽的名称,例如:
```html
<el-table-column type="index" label="序号">
<template slot-scope="scope">{{ scope.$index + 1 }}</template>
</el-table-column>
```
在上面的代码中,我们定义了一个作用域插槽,名称为 scope,插槽的内容是序号列的内容,即序号值。在插槽中,我们可以通过 scope 对象获取当前行的索引 $index,然后加 1 得到序号值。最终,el-table-column 会将序号值渲染到序号列中。
需要注意的是,如果 el-table-column 没有指定 prop 属性,则需要使用作用域插槽自行获取该列的数据。例如:
```html
<el-table-column type="index" label="序号">
<template slot-scope="scope">{{ scope.$index + 1 }}</template>
</el-table-column>
<el-table-column label="姓名">
<template slot-scope="scope">{{ scope.row.name }}</template>
</el-table-column>
```
在上面的代码中,第二个 el-table-column 没有指定 prop 属性,因此我们需要使用作用域插槽获取该列的数据,即 scope.row.name 获取姓名数据。
阅读全文