vue3+ts中使用el-table-column中的#default="scope"时 报scope的类型错误
时间: 2024-06-10 07:04:01 浏览: 127
$scopedSlots插槽是如何实现自定义列渲染的?
在Vue3 TypeScript 中使用el-table-column的$scopedSlots插槽可以通过以下步骤实现自定义列渲染:
1. 在el-table-column中设置prop属性,指定数据源中对应列的数据。
2. 在el-table-column中使用$scopedSlots插槽,定义自定义渲染函数。
3. 在自定义渲染函数中使用props参数,获取对应列的数据,进行自定义渲染。
举个例子,如果要在一个表格中显示用户列表,其中包含用户名和头像两列,可以通过如下代码实现头像列的自定义渲染:
```
<template>
<el-table :data="users" border>
<el-table-column :prop="'username'" label="用户名"></el-table-column>
<el-table-column :prop="'avatar'" label="头像">
<template #default="{ row }">
<img :src="row.avatar" alt="" width="30px" height="30px">
</template>
</el-table-column>
</el-table>
</template>
<script lang="ts">
import { defineComponent } from 'vue';
export default defineComponent({
data() {
return {
users: [
{
username: 'Tom',
avatar: 'https://example.com/avatar1.png'
},
{
username: 'Jerry',
avatar: 'https://example.com/avatar2.png'
},
// more users
]
}
}
})
</script>
```
在上面的代码中,使用了默认插槽来定义头像列的自定义渲染函数,其中props参数代表当前行的数据对象,通过props.avatar获取对应列的数据,然后渲染为一张图片。
阅读全文