|
98 | 98 | dangerouslyUseHTMLString: true |
99 | 99 | }); |
100 | 100 | }, |
101 | | - |
| 101 | + |
102 | 102 | open6() { |
| 103 | + this.$confirm('You have unsaved changes, save and proceed?', 'Confirm', { |
| 104 | + distinguishCancelAndClose: true, |
| 105 | + confirmButtonText: 'Save', |
| 106 | + cancelButtonText: 'Discard Changes' |
| 107 | + }) |
| 108 | + .then(() => { |
| 109 | + this.$message({ |
| 110 | + type: 'info', |
| 111 | + message: 'Changes saved. Proceeding to a new route.' |
| 112 | + }); |
| 113 | + }) |
| 114 | + .catch(action => { |
| 115 | + this.$message({ |
| 116 | + type: 'info', |
| 117 | + message: action === 'cancel' |
| 118 | + ? 'Changes discarded. Proceeding to a new route.' |
| 119 | + : 'Stay in the current route' |
| 120 | + }) |
| 121 | + }); |
| 122 | + }, |
| 123 | + |
| 124 | + open7() { |
103 | 125 | this.$confirm('This will permanently delete the file. Continue?', 'Warning', { |
104 | 126 | confirmButtonText: 'OK', |
105 | 127 | cancelButtonText: 'Cancel', |
@@ -295,6 +317,7 @@ El contenido de MessageBox puede ser `VNode`, permitiéndonos pasar componentes |
295 | 317 | ::: |
296 | 318 |
|
297 | 319 | ### Utiliza cadenas HTML |
| 320 | + |
298 | 321 | `message` soporta cadenas HTML. |
299 | 322 |
|
300 | 323 | :::demo Establezca el valor de `dangerouslyUseHTMLString` a true y `message` sera tratado como una cadena HTML. |
@@ -322,20 +345,61 @@ El contenido de MessageBox puede ser `VNode`, permitiéndonos pasar componentes |
322 | 345 | Aunque la propiedad `message` soporta cadenas HTML, realizar arbitrariamente render dinamico de HTML en nuestro sitio web puede ser muy peligroso ya que puede conducir facilmente a [XSS attacks](https://en.wikipedia.org/wiki/Cross-site_scripting). Entonces cuando `dangerouslyUseHTMLString` esta activada, asegurece que el contendio de `message` sea de confianza, y **nunca** asignar `message` a contenido generado por el usuario. |
323 | 346 | ::: |
324 | 347 |
|
| 348 | +### Distinguishing cancel and close |
| 349 | + |
| 350 | +In some cases, clicking the cancel button and close button may have different meanings. |
| 351 | + |
| 352 | +:::demo By default, the parameters of Promise's reject callback and `callback` are 'cancel' when the user cancels (clicking the cancel button) and closes (clicking the close button or mask layer, pressing the ESC key) the MessageBox. If `distinguishCancelAndClose` is set to true, the parameters of the above two operations are 'cancel' and 'close' respectively. |
| 353 | + |
| 354 | +```html |
| 355 | +<template> |
| 356 | + <el-button type="text" @click="open6">Click to open Message Box</el-button> |
| 357 | +</template> |
| 358 | + |
| 359 | +<script> |
| 360 | + export default { |
| 361 | + methods: { |
| 362 | + open6() { |
| 363 | + this.$confirm('You have unsaved changes, save and proceed?', 'Confirm', { |
| 364 | + distinguishCancelAndClose: true, |
| 365 | + confirmButtonText: 'Save', |
| 366 | + cancelButtonText: 'Discard Changes' |
| 367 | + }) |
| 368 | + .then(() => { |
| 369 | + this.$message({ |
| 370 | + type: 'info', |
| 371 | + message: 'Changes saved. Proceeding to a new route.' |
| 372 | + }); |
| 373 | + }) |
| 374 | + .catch(action => { |
| 375 | + this.$message({ |
| 376 | + type: 'info', |
| 377 | + message: action === 'cancel' |
| 378 | + ? 'Changes discarded. Proceeding to a new route.' |
| 379 | + : 'Stay in the current route' |
| 380 | + }) |
| 381 | + }); |
| 382 | + } |
| 383 | + } |
| 384 | + } |
| 385 | +</script> |
| 386 | +``` |
| 387 | +::: |
| 388 | + |
325 | 389 | ### Centered content |
326 | 390 | El contenido del componente MessageBox puede ser centrado. |
327 | 391 |
|
328 | 392 | :::demo Establecer `center` a `true` centrara el contenido |
329 | 393 |
|
330 | 394 | ```html |
331 | 395 | <template> |
332 | | - <el-button type="text" @click="open6">Click to open Message Box</el-button> |
| 396 | + <el-button type="text" @click="open7">Click to open Message Box</el-button> |
333 | 397 | </template> |
334 | 398 |
|
335 | 399 | <script> |
336 | 400 | export default { |
337 | 401 | methods: { |
338 | | - open6() { |
| 402 | + open7() { |
339 | 403 | this.$confirm('This will permanently delete the file. Continue?', 'Warning', { |
340 | 404 | confirmButtonText: 'OK', |
341 | 405 | cancelButtonText: 'Cancel', |
@@ -387,8 +451,9 @@ Los metodos correspondientes: `MessageBox`, `MessageBox.alert`, `MessageBox.conf |
387 | 451 | | type | tipo de mensaje , utilizado para mostrar el icono | string | success / info / warning / error | — | |
388 | 452 | | iconClass | clase personalizada para el icono, sobreescribe `type` | string | — | — | |
389 | 453 | | customClass | nombre de la clase personzalida para el componente MessageBox | string | — | — | |
390 | | -| callback | MessageBox callback al cerrar si no desea utilizar Promise | function(action), donde la accion puede ser 'confirm' o 'cancel', e `instance` es la instancia del componente MessageBox. Puedes acceder a los metodos y atributos de esa instancia | — | — | |
391 | | -| beforeClose | callback llamado antes de cerrar el componente MessageBox, y previene que el componente MessageBox se cierre | function(action, instance, done), donde `action` pueden ser 'confirm' o 'cancel'; `instance` es la instancia del componente MessageBox, Puedes acceder a los metodos y atributos de esa instancia; `done` es para cerrar la instancia | — | — | |
| 454 | +| callback | MessageBox callback al cerrar si no desea utilizar Promise | function(action), donde la accion puede ser 'confirm', 'cancel' o 'close', e `instance` es la instancia del componente MessageBox. Puedes acceder a los metodos y atributos de esa instancia | — | — | |
| 455 | +| beforeClose | callback llamado antes de cerrar el componente MessageBox, y previene que el componente MessageBox se cierre | function(action, instance, done), donde `action` pueden ser 'confirm', 'cancel' o 'close'; `instance` es la instancia del componente MessageBox, Puedes acceder a los metodos y atributos de esa instancia; `done` es para cerrar la instancia | — | — | |
| 456 | +| distinguishCancelAndClose | whether to distinguish canceling and closing the MessageBox | boolean | — | false | |
392 | 457 | | lockScroll | utilizado para bloquear el desplazamiento del contenido del MessageBox prompts | boolean | — | true | |
393 | 458 | | showCancelButton | utlizado para mostrar un boton cancelar | boolean | — | false (true cuando es llamado con confirm y prompt) | |
394 | 459 | | showConfirmButton | utlizado para mostrar un boton confirmar | boolean | — | true | |
|
0 commit comments