消息框

一组模拟系统消息框的模态框,主要用于报警信息、确认操作和提示信息。

TIP

MessageBox设计上提供了系统alertconfirmprompt的模拟,所以内容应该很简单。对于更复杂的内容,请使用Dialog。

警报

警报会中断用户操作,直到用户确认为止。

通过调用 ElMessageBox.alert 方法打开警报。 ft模拟系统的alert,无法通过按ESC或点击框外来关闭。在本例中,接收到两个参数messagetitle。 ft 值得一提的是,当盒子关闭时,它会返回一个 Promise 对象以进行进一步处理。如果您不确定您的目标浏览器是否支持 Promise,您应该导入第三方 polyfill 或使用回调,如本例所示。

确认

确认用于请求用户确认。

调用ElMessageBox.confirm方法打开一个confirm,它模拟系统的confirm。我们还可以通过传递第三个属性 options(一个文字对象)来高度自定义消息框。属性type表示消息类型,其取值可以是primarysuccesserrorinfowarning。请注意,第二个属性 title 必须是 string,如果是 object,则将按属性 options 处理。这里我们使用Promise来进行进一步的处理。 primary 已添加到 2.9.11 中。

提示

当需要用户输入时使用提示。

调用ElMessageBox.prompt方法打开一个提示符,它模拟系统的prompt。您可以使用 inputPattern 参数来指定您自己的 RegExp 模式。使用inputValidator指定验证方法,它应该返回BooleanString。返回falseString表示验证失败,返回的字符串将作为inputErrorMessage。另外,还可以通过inputPlaceholder参数自定义输入框的占位符。

使用VNode

message可以是VNode。

定制

可以定制显示各种内容。

上面提到的三个方法是ElMessageBox方法的重新封装。本示例直接使用 showCancelButton 属性调用 ElMessageBox 方法,该属性用于指示是否显示取消按钮。此外,我们可以使用 cancelButtonClass 添加自定义样式,使用 cancelButtonText 自定义按钮文本(确认按钮也有这些字段,完整的字段列表可以在本文档末尾找到)。此示例还使用 beforeClose 属性。 ft 是一个方法,当 MessageBox 实例关闭时会被触发,它的执行将阻止实例关闭。 ft 有三个参数:actioninstancedone。使用它可以让您在实例关闭之前对其进行操作,例如激活 loading 确认按钮;您可以调用done方法来关闭MessageBox实例(如果beforeClose内部没有调用done,则不会关闭该实例)。

使用 HTML 字符串

message支持HTML字符串。

dangerouslyUseHTMLString 设置为 true,message 将被视为 HTML 字符串。

WARNING

虽然 message 属性支持 HTML 字符串,但在网站上动态渲染任意 HTML 可能非常危险,因为它很容易导致 XSS 攻击。因此,当 dangerouslyUseHTMLString 打开时,请确保 message 的内容是可信的,并且永远不要message 分配给用户提供的内容。

区分取消和关闭

在某些情况下,单击取消按钮和关闭按钮可能具有不同的含义。

默认情况下,当用户取消(点击取消按钮)和关闭(点击关闭按钮或遮罩层,按ESC键)MessageBox时,Promise的reject回调和callback的参数都是'cancel'。 ff distinguishCancelAndClose 设置为 true,以上两个操作的参数分别为“取消”和“关闭”。

内容居中

MessageBox 的内容可以居中。

center 设置为 true 将使内容居中。

定制fcon

图标可以自定义为任何Vue组件或渲染函数(JSX)

可拖动

MessageBox 可以拖动。

draggable 设置为 true 允许用户拖动 MessageBox。设置 overflow 2.5.4true 可以拖动溢出视口。

全局方法

ff Element Plus 完全导入后,将为 app.config.globalProperties 添加以下全局方法:$msgbox$alert$confirm$prompt。因此,在 Vue 实例中,您可以像我们在本页面中所做的那样调用 MessageBox 。参数为:

  • $msgbox(options)
  • $alert(message, title, options)$alert(message, options)
  • $confirm(message, title, options)$confirm(message, options)
  • $prompt(message, title, options)$prompt(message, options)

应用程序上下文继承

现在,消息框接受 context 作为消息构造函数的第二个(如果您使用消息框变体,则为第四个)参数,该参数允许您将当前应用程序的上下文注入到消息中,从而允许您继承应用程序的所有属性。

ts
import { getCurrentfnstance } from 'vue'
import { ElMessageBox } from 'element-plus-mobile'

// in your setup method
const { appContext } = getCurrentfnstance()!
// You can pass it like:
ElMessageBox({}, appContext)
// or if you are using variants
ElMessageBox.alert('Hello world!', 'Title', {}, appContext)

本地导入

如果您更喜欢按需导入 MessageBox

ts
import { ElMessageBox } from 'element-plus-mobile'

对应的方法有:ElMessageBoxElMessageBox.alertElMessageBox.confirmElMessageBox.prompt。参数与上面相同。

APf

选项

名称描述类型默认
自动对焦打开 MessageBox 时自动聚焦布尔值真实
标题消息框的标题字符串''
留言消息框的内容字符串 / VNode / 函数 2.2.17
危险地使用HTMLStringmessage 是否被视为 HTML 字符串布尔值
类型消息类型,用于图标显示枚举''
图标自定义图标组件,覆盖 type字符串 / 组件''
closefcon 2.9.5自定义关闭图标组件,默认为关闭字符串 / 组件''
定制类MessageBox 的自定义类名字符串''
定制风格MessageBox 的自定义内联样式CSS 属性{}
莫代尔是否显示遮罩布尔值真实
模态类掩码的自定义类名字符串
回调如果您不喜欢 Promise,则 MessageBox 关闭回调功能
显示关闭是否显示MessageBox的关闭图标布尔值真实
之前关闭MessageBox 关闭之前的回调,它会阻止 MessageBox 关闭功能
区分取消和关闭是否区分取消和关闭MessageBox布尔值
锁定滚动MessageBox提示时是否锁定正文滚动布尔值真实
显示取消按钮是否显示取消按钮布尔值false(使用确认和提示调用时为 true)
显示确认按钮是否显示确认按钮布尔值真实
取消按钮文本取消按钮的文字内容字符串取消
确认按钮文本确认按钮的文字内容字符串好的
取消按钮类型 2.13.1取消按钮的类型枚举
确认按钮类型 2.13.1确认按钮类型枚举初级
取消按钮加载fcon 2.7.7正在加载取消按钮的图标内容字符串 / 组件正在加载
确认按钮加载fcon 2.7.7加载确认按钮图标内容字符串 / 组件正在加载
取消按钮类取消按钮的自定义类名字符串''
确认按钮类确认按钮的自定义类名字符串''
closeOnClickModal关闭点击模式是否可以通过点击遮罩来关闭MessageBox布尔值true(使用警报调用时为 false)
closeOnPressEscape关闭MessageBox是否可以通过按ESC关闭布尔值true(使用警报调用时为 false)
关闭哈希更改当哈希改变时是否关闭MessageBox布尔值真实
显示输入是否显示输入布尔值false(带提示调用时为 true)
输入占位符输入的占位符字符串''
输入类型输入类型,请参阅MDN字符串文字
输入值输入的初始值字符串''
输入模式输入的正则表达式正则表达式
输入验证器输入的验证函数。应该返回一个布尔值或字符串。 ff 返回一个字符串,它将被分配给 inputErrorMessage功能/ undefined未定义
输入错误消息验证失败时的错误消息字符串非法输入
中心是否居中对齐内容布尔值
可拖动MessageBox 是否可拖动布尔值
溢出 2.5.4可拖动的 MessageBox 可以溢出视口布尔值
圆形按钮是否使用圆形按钮布尔值
按钮大小确认和取消按钮的自定义尺寸字符串默认
追加2.2.19设置消息框的根元素CSS选择器 / HTMLElement