从顶部出现,3 秒后自动消失。
Message 在配置上与 Notification 非常类似,所以部分 options 在此不做详尽解释,文末有 options 列表,可以结合 Notification 的文档理解它们。Element 注册了一个方法用于调用,Message 可以接收一个字符串或一个 VNode 作为参数,它会被显示为正文内容。
不同状态
用来显示「成功、警告、消息、错误」类的操作反馈。
<template>
<el-button :plain="true" @click="open2">成功</el-button>
<el-button :plain="true" @click="open3">警告</el-button>
<el-button :plain="true" @click="open1">消息</el-button>
<el-button :plain="true" @click="open4">错误</el-button>
</template>
<script>
export default {
methods: {
this.$message('这是一条消息提示');
},
open2() {
this.$message({
message: '恭喜你,这是一条成功消息',
type: 'success'
});
},
open3() {
this.$message({
message: '警告哦,这是一条警告消息',
type: 'warning'
});
},
open4() {
this.$message.error('错了哦,这是一条错误消息');
}
}
</script>
可关闭
可以添加关闭按钮。
默认的 Message 是不可以被人工关闭的,如果需要可手动关闭的 Message,可以使用showClose
字段。此外,和 Notification 一样,Message 拥有可控的duration
,设置0
为不会被自动关闭,默认为 3000 毫秒。
使用 center
属性让文字水平居中。
<template>
<el-button :plain="true" @click="openCenter">文字居中</el-button>
</template>
<script>
export default {
methods: {
this.$message({
message: '居中的文字',
center: true
});
}
}
}
</script>
使用 HTML 片段
将dangerouslyUseHTMLString
属性设置为 true,message
就会被当作 HTML 片段处理。
message
属性虽然支持传入 HTML 片段,但是在网站上动态渲染任意 HTML 是非常危险的,因为容易导致 XSS 攻击。因此在 dangerouslyUseHTMLString
打开的情况下,请确保 message
的内容是可信的,永远不要将用户提交的内容赋值给 message
属性。
全局方法
Element 为 Vue.prototype 添加了全局方法 $message。因此在 vue instance 中可以采用本页面中的方式调用 Message
。
单独引入 Message
:
import { Message } from 'element-ui';
Options
方法
调用 Message
或 this.$message
会返回当前 Message 的实例。如果需要手动关闭实例,可以调用它的 方法。
方法名 | 说明 |
---|---|
close | 关闭当前的 Message |