vue3 ant design vue Notification 内容为 html
时间: 2023-12-27 21:02:10 浏览: 139
在 Vue 3 中,Ant Design Vue 的 Notification 组件的使用方式与 Vue 2 并没有太大的区别。你同样可以通过自定义 render 函数来实现将 HTML 内容作为通知内容的功能。
具体实现方式如下:
1. 在 Notification 组件中添加一个 slot,用于接受自定义渲染函数:
```html
<template>
<a-notification :message="message">
<template #description="{ onClose }">
<div v-html="renderHtml()" @click="onClose"></div>
</template>
</a-notification>
</template>
```
2. 在组件中定义一个方法,用于生成需要渲染的 HTML 内容:
```js
<script>
import { defineComponent } from 'vue';
export default defineComponent({
data() {
return {
message: 'Notification with HTML content',
};
},
methods: {
renderHtml() {
return '<p><strong>这是一段加粗的文字</strong></p><p>这是一段普通的文字</p>';
},
},
});
</script>
```
3. 在自定义渲染函数中使用 v-html 指令将生成的 HTML 内容插入到通知框中。
同样需要注意的是,使用 v-html 指令会有一定的安全风险,因为它可以执行任意的 JavaScript 代码。为了避免 XSS 攻击,你需要对渲染的 HTML 内容进行过滤和转义,或者使用第三方的 XSS 过滤库来过滤输入的内容。
阅读全文