2016-11-10 13:46:55 +00:00
< script >
module.exports = {
data() {
return {
gridData: [{
date: '2016-05-02',
name: 'John Smith',
address: 'No.1518, Jinshajiang Road, Putuo District'
}, {
date: '2016-05-04',
name: 'John Smith',
address: 'No.1518, Jinshajiang Road, Putuo District'
}, {
date: '2016-05-01',
name: 'John Smith',
address: 'No.1518, Jinshajiang Road, Putuo District'
}, {
date: '2016-05-03',
name: 'John Smith',
address: 'No.1518, Jinshajiang Road, Putuo District'
}],
dialogVisible: false,
dialogTableVisible: false,
dialogFormVisible: false,
form: {
name: '',
region: '',
date1: '',
date2: '',
delivery: false,
type: [],
resource: '',
desc: ''
},
2016-11-10 15:50:55 +00:00
formLabelWidth: '120px'
2016-11-10 13:46:55 +00:00
};
},
methods: {
openDialog() {
this.$refs.dialogBind.open();
}
}
};
< / script >
## Dialog
Informs users while preserving the current page state.
### Basic usage
Dialog pops up a dialog box, and it's quite customizable.
:::demo Set the `v-model` attribute with a `Boolean` , and Dialog shows when it is `true` . The Dialog has two parts: `body` and `footer` , and the latter requires a `slot` named `footer` . The optional `title` attribute (empty by default) is for defining a title. This example explicitly changes the value of `v-model` to toggle Dialog. In addition, we also provide `open` and `close` method, which you can call to open/close the Dialog.
```html
2016-11-20 14:39:33 +00:00
< el-button type = "text" @click =" dialogVisible = true" > click to open the Dialog</ el-button >
2016-11-10 13:46:55 +00:00
2016-11-14 10:10:52 +00:00
< el-dialog title = "Tips" v-model = "dialogVisible" size = "tiny" >
2016-11-10 13:46:55 +00:00
< span > This is a message< / span >
< span slot = "footer" class = "dialog-footer" >
2016-11-20 14:39:33 +00:00
< el-button @click =" dialogVisible = false" > Cancel</ el-button >
< el-button type = "primary" @click =" dialogVisible = false" > Confirm</ el-button >
2016-11-10 13:46:55 +00:00
< / span >
< / el-dialog >
2016-11-14 10:10:52 +00:00
< script >
export default {
data() {
return {
dialogVisible: false
};
}
};
< / script >
2016-11-10 13:46:55 +00:00
```
:::
### Customizations
The content of Dialog can be anything, even a table or a form. This example shows how to use Element Table and Form with Dialog。
:::demo
```html
<!-- Table -->
2016-11-20 14:39:33 +00:00
< el-button type = "text" @click =" dialogTableVisible = true" type = "text" > open a Table nested Dialog</ el-button >
2016-11-10 13:46:55 +00:00
< el-dialog title = "Shipping address" v-model = "dialogTableVisible" >
< el-table :data = "gridData" >
< el-table-column property = "date" label = "Date" width = "150" > < / el-table-column >
< el-table-column property = "name" label = "Name" width = "200" > < / el-table-column >
< el-table-column property = "address" label = "Address" > < / el-table-column >
< / el-table >
< / el-dialog >
<!-- Form -->
2016-11-20 14:39:33 +00:00
< el-button type = "text" @click =" dialogFormVisible = true" type = "text" > open a Form nested Dialog</ el-button >
2016-11-10 13:46:55 +00:00
< el-dialog title = "Shipping address" v-model = "dialogFormVisible" >
< el-form :model = "form" >
< el-form-item label = "Promotion name" :label-width = "formLabelWidth" >
< el-input v-model = "form.name" auto-complete = "off" > < / el-input >
< / el-form-item >
< el-form-item label = "Zones" :label-width = "formLabelWidth" >
< el-select v-model = "form.region" placeholder = "Please select a zone" >
< el-option label = "Zone No.1" value = "shanghai" > < / el-option >
< el-option label = "Zone No.2" value = "beijing" > < / el-option >
< / el-select >
< / el-form-item >
< / el-form >
< span slot = "footer" class = "dialog-footer" >
2016-11-20 14:39:33 +00:00
< el-button @click =" dialogFormVisible = false" > Cancel</ el-button >
< el-button type = "primary" @click =" dialogFormVisible = false" > Confirm</ el-button >
2016-11-10 13:46:55 +00:00
< / span >
< / el-dialog >
2016-11-14 10:10:52 +00:00
< script >
export default {
data() {
return {
gridData: [{
date: '2016-05-02',
name: 'John Smith',
address: 'No.1518, Jinshajiang Road, Putuo District'
}, {
date: '2016-05-04',
name: 'John Smith',
address: 'No.1518, Jinshajiang Road, Putuo District'
}, {
date: '2016-05-01',
name: 'John Smith',
address: 'No.1518, Jinshajiang Road, Putuo District'
}, {
date: '2016-05-03',
name: 'John Smith',
address: 'No.1518, Jinshajiang Road, Putuo District'
}],
dialogTableVisible: false,
dialogFormVisible: false,
form: {
name: '',
region: '',
date1: '',
date2: '',
delivery: false,
type: [],
resource: '',
desc: ''
},
formLabelWidth: '120px'
};
}
};
< / script >
2016-11-10 13:46:55 +00:00
```
:::
### Attributes
| Attribute | Description | Type | Accepted Values | Default |
|---------- |-------------- |---------- |-------------------------------- |-------- |
| title | title of Dialog | string | — | — |
| size | size of Dialog | string | tiny/small/large/full | small |
| top | value for `top` of Dialog CSS, works when `size` is not `full` | string | — | 15% |
| modal | whether a mask is displayed | boolean | — | true |
| lock-scroll | whether scroll of body is disabled while Dialog is displayed | boolean | — | true |
| custom-class | custom class names for Dialog | string | — | — |
| close-on-click-modal | whether the Dialog can be closed by clicking the mask | boolean | — | true |
| close-on-press-escape | whether the Dialog can be closed by pressing ESC | boolean | — | true |
2016-11-14 10:55:17 +00:00
| show-close | whether to show a close button | boolean | — | true |
2016-11-10 13:46:55 +00:00
### Slot
| Name | Description |
|------|--------|
| — | content of Dialog |
| footer | content of the Dialog footer |
### Methods
Each `el-dialog` instance has the following methods that can be used to open/close the instance without explicitly changing the value of `v-model` :
| Method | Description |
|------|--------|
| open | open the current instance |
| close | close the current instance |
### Events
| Event Name | Description | Parameters |
|---------- |-------- |---------- |
| open | triggers when the Dialog opens | — |
| close | triggers when the Dialog closes | — |