Message Box

Un conjunto de cajas modales simulando un sistema de message box, principalmente para alertar información, confirmar operaciones y mostrar mensajes de aviso.

TIP

Por diseño, MessageBox proporciona simulaciones de alert del sistema, confirm y prompt, por lo que su contenido debería ser simple. Para contenido más complejo, por favor utilice el componente Dialog.

Alerta

La alerta interrumpe la operación del usuario hasta que el usuario lo confirme.

Abre una alerta llamando al método ElMessageBox.alert. Simula la alert del sistema, y no puede ser cerrado al presionar la tecla ESC o al dar clic fuera de la caja. En este ejemplo, dos parámetros son recibidos message y title. Vale la pena mencionar que cuando la caja es cerrada, regresa una Promise para su procesamiento posterior. Si no está seguro de si sus navegadores de destino apoyan Promise, debería importar un polyfill de terceros o usar callbacks como este ejemplo.

Confirmación

Confirm es utilizado para preguntar al usuario y recibir una confirmación.

Llamada al método ElMessageBox.confirm para abrir una confirmación, y simular la confirmación (confirm) del sistema. También podemos personalizar en gran medida el componente Message Box al mandar un tercer atributo llamado options que es un objeto. El atributo type indica el tipo de mensaje, y su valor puede ser success, error, info y warning. Se debe tener en cuenta que el segundo atributo title debe ser de tipo string, y si es de tipo object, será manejado como el atributo options. Aquí utilizamos Promise para manejar procesos posteriores.

Preguntar

Prompt es utilizado cuando se requiere entrada de información del usuario.

Llamada al método ElMessageBox.prompt para abrir un diálogo que solicita un dato al usuario y simula el prompt del sistema. Puede utilizar el parámetro inputPattern para especificar su propio patrón RegExp. Utilice inputValidator para especificar el método de validación, y debe devolver Boolean o String. Al regresar false o String significa que la validación ha fallado, y la cadena regresada se usara como inputErrorMessage. Además, puedes personalizar el atributo placeholder del input box con el parámetro inputPlaceholder.

Use VNode

mensaje puede ser VNode.

Personalización

Se puede personalizar para mostrar varios contenidos.

Los tres métodos mencionados anteriormente son los reempaquetados del método ElMessageBox. Este ejemplo llama al método ElMessageBox directamente usando el atributo showCancelButton, que se utiliza para indicar si se muestra un botón de cancelación. Además, podemos usar cancelButtonClass para añadir un estilo personalizado y cancelButtonText para personalizar el texto del botón (el botón de confirmación también tiene estos campos, y una lista completa de campos se puede encontrar al final de esta documentación). Este ejemplo también usa el atributo beforeClose. Es un método y se activará cuando se cierre la instancia de MessageBox y su ejecución impedirá que la instancia se cierre. Tiene tres parámetros: action, instance y done. Utilizarlo le permite manipular la instancia antes de que se cierre, p.ej. activando loading para el botón de confirmar; puede invocar el método done para cerrar la instancia de MessageBox (si done no es llamado dentro de beforeClose, la instancia no se cerrará).

Usando cadenas HTML

mensaje soporta cadena HTML.

Establezca el valor de dangerouslyUseHTMLString a true y el message será tratado como una cadena HTML.

WARNING

Aunque la propiedad message soporta cadenas HTML, renderizando HTML arbitrario en su sitio web puede ser muy peligroso porque puede llevar fácilmente a ataques XSS. Así que cuando peligouslyUseHTMLString esté encendido, por favor asegúrese de que el contenido del menssage es de confianza, y nunca asigne menssage al contenido proporcionado por el usuario.

Distinguir entre cancelar y cerrar

En algunos casos, hacer clic en el botón cancelar y cerrar puede tener diferentes significados.

por defecto, los parámetros de la devolución de llamada rechazada de Promise y callback son 'cancel' cuando el usuario cancela (haciendo clic en el botón cancelar) y cierra (haciendo clic en el botón cerrar o en la capa de máscara, presionando la tecla ESC) el MessageBox. Si distinguishCancelAndClose está establecido en true, los parámetros de las dos operaciones anteriores son 'cancel' y 'close' respectivamente.

Contenido centrado

El contenido de MessageBox se puede centrar.

Establezca center a true y centrará el contenido.

Icono personalizado

El icono se puede personalizar a cualquier componente Vue o función de renderizado (JSX).

Draggable

MessageBox puede ser arrastrable.

Setting draggable to true allows user to drag MessageBox. Set overflow 2.5.4 to true can drag overflow the viewport.

Métodos Globales

Si Element Plus se importa completamente, se añadirán los siguientes métodos globales para app.config.globalProperties: $msgbox, $alert, $confirm y $prompt. Así que en una instancia de Vue puede llamar a MessageBox como lo que hicimos en esta página. Los parámetros son:

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

Herencia de contexto de aplicación > 2.0.4

Ahora el cuadro de mensaje acepta un context como segundo (cuarto si está usando variantes del cuadro de mensajes) parámetro del constructor de mensajes que le permite inyectar el contexto de la aplicación actual al mensaje que le permite heredar todas las propiedades de la aplicación.

ts
import { getCurrentInstance } from 'vue'
import { ElMessageBox } from 'element-plus'

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

Importación local

Si prefiere importar MessageBox bajo demanda:

ts
import { ElMessageBox } from 'element-plus'

Los métodos correspondientes son: ElMessageBox, ElMessageBox.alert, ElMessageBox.confirm y ElMessageBox.prompt. Los parámetros son los mismos que los anteriores.

API

Options

NameDescripciónTipoDefault
autofocusautofocalización al abrir MessageBoxbooleantrue
titletítulo del componente MessageBoxstring''
messagecontenido del componente MessageBoxstring / VNode / Function 2.2.17
dangerouslyUseHTMLStringutilizado para que message sea tratado como cadena HTMLbooleanfalse
typetipo de mensaje, utilizado para mostrar el iconoenum''
iconcomponente de icono personalizado, sobreescribe typestring / Component''
customClassnombre de la clase personalizada para el componente MessageBoxstring''
customStyleestilo en línea personalizado para MessageBoxCSSProperties{}
callbackFunción de callback al cerrar MessageBox si no desea utilizar PromiseFunctionnull
showClosesi desea mostrar el icono cerrar de MessageBoxbooleantrue
beforeCloseuna función callback antes de que se cierre el MessageBox, y con esto se pueden tomar previsiones al cierre, incluso evitar que el cuadro pueda ser cerradoFunctionnull
distinguishCancelAndClosesi distinguir cancelar y cerrar el MessageBoxbooleanfalse
lockScrollsi bloquear el desplazamiento del cuerpobooleantrue
showCancelButtonsi desea mostrar un botón de cancelarbooleanfalse (true when called with confirm and prompt)
showConfirmButtonsi desea mostrar un botón de confirmarbooleantrue
cancelButtonTextcontenido de texto del botón cancelarstringCancel
confirmButtonTextcontenido de texto del botón confirmarstringOK
cancelButtonLoadingIcon 2.7.7loading icon content of cancel buttonstring / ComponentLoading
confirmButtonLoadingIcon 2.7.7loading icon content of confirm buttonstring / ComponentLoading
cancelButtonClassnombre de la clase personalizada del botón cancelarstring''
confirmButtonClassnombre de la clase personalizada del botón confirmarstring''
closeOnClickModalsi MessageBox puede cerrarse haciendo clic en la máscarabooleantrue (false when called with alert)
closeOnPressEscapesi MessageBox puede cerrarse presionando el ESCbooleantrue (false when called with alert)
closeOnHashChangesi cerrar MessageBox cuando el hash cambiebooleantrue
showInputsi desea mostrar un inputbooleanfalse (true when called with prompt)
inputPlaceholderplaceholder del inputstring''
inputTypetipo de inputstringtext
inputValuevalor inicial del inputstringnull
inputPatternregexp para el inputregexpnull
inputValidatorfunción de validación del input. Debe regresar un valor de tipo boolean o string. Si regresa un valor tipo string, será asignado a inputErrorMessageFunctionnull
inputErrorMessagemensaje de error cuando la validación fallastringIllegal input
centersi centrar el contenidobooleanfalse
draggablesi MessageBox es arrastrablebooleanfalse
overflow 2.5.4draggable MessageBox can overflow the viewportbooleanfalse
roundButtonsi usar los botones redondosbooleanfalse
buttonSizetamaño personalizado de botones de confirmación y cancelaciónstringdefault
appendTo 2.2.19establecer el elemento raíz para el message boxstring / HTMLElement

Fuente

ComponentesStyleDocumentación

Contribuidores