el-table中应用v-html
时间: 2023-07-17 08:12:14 浏览: 111
在vue中使用el-tab-pane v-show/v-if无效的解决
5星 · 资源好评率100%
在使用 `el-table` 组件时,如果你想在表格中渲染 HTML 内容,可以通过使用 `scoped-slot` 来实现。`el-table` 组件提供了 `default` 作为默认的插槽,你可以在这个插槽中自定义每个单元格的内容。
首先,你需要在 `el-table-column` 组件中使用 `scoped-slot` 属性来定义一个作用域插槽。然后,在作用域插槽中,可以通过 `row` 参数获取当前行的数据,并使用 `v-html` 指令来渲染 HTML 内容。
下面是一个示例代码:
```html
<template>
<el-table :data="tableData">
<el-table-column prop="content">
<template slot-scope="scope">
<div v-html="scope.row.content"></div>
</template>
</el-table-column>
</el-table>
</template>
<script>
export default {
data() {
return {
tableData: [
{ content: '<span style="color: red;">红色文字</span>' },
{ content: '<b>粗体文字</b>' },
],
};
},
};
</script>
```
在上面的示例中,`tableData` 数组包含了两条数据,每条数据都有一个 `content` 属性,该属性包含了需要渲染的 HTML 内容。在表格中,`el-table-column` 的 `scoped-slot` 中使用 `v-html="scope.row.content"` 来渲染 HTML 内容。
这样就可以在 `el-table` 中应用 `v-html` 来渲染 HTML 内容了。请注意,使用 `v-html` 时要确保你所渲染的内容是可信的,以防止 XSS 攻击。
阅读全文