56 lines
1.7 KiB
Vue
56 lines
1.7 KiB
Vue
<template>
|
|
<DocSectionText v-bind="$attrs">
|
|
<p>Data can be passed to the component that is loaded by the Dialog and also from the component back to the caller component. Use the <i>open</i> function and pass your parameters with the <i>data</i> property in the options object.</p>
|
|
|
|
<DocSectionCode :code="code1" hideToggleCode importCode hideCodeSandbox hideStackBlitz />
|
|
<DocSectionCode :code="code2" hideToggleCode importCode hideCodeSandbox hideStackBlitz />
|
|
|
|
<p>Similarly when hiding a Dialog, any parameter passed to the <i>close</i> function is received from the <i>onClose</i> callback defined by the <i>open</i> function at the caller.</p>
|
|
<DocSectionCode :code="code3" hideToggleCode importCode hideCodeSandbox hideStackBlitz />
|
|
<DocSectionCode :code="code4" hideToggleCode importCode hideCodeSandbox hideStackBlitz />
|
|
</DocSectionText>
|
|
</template>
|
|
|
|
<script>
|
|
export default {
|
|
data() {
|
|
return {
|
|
code1: {
|
|
basic: `
|
|
this.$dialog.open(ProductListDemo, {
|
|
data: {
|
|
user: 'primetime'
|
|
}
|
|
};`
|
|
},
|
|
code2: {
|
|
basic: `export default {
|
|
inject: ['dialogRef'],
|
|
mounted:{
|
|
const params = this.dialogRef.data; // {user: 'primetime'}
|
|
}
|
|
}`
|
|
},
|
|
code3: {
|
|
basic: `
|
|
this.$dialog.open(ProductListDemo, {
|
|
onClose(options) {
|
|
const callbackParams = options.data; // {id: 12}
|
|
}
|
|
);`
|
|
},
|
|
code4: {
|
|
basic: `export default {
|
|
inject: ['dialogRef'],
|
|
methods:{
|
|
closeDialog() {
|
|
this.dialogRef.close({id: 12});
|
|
}
|
|
}
|
|
}`
|
|
}
|
|
};
|
|
}
|
|
};
|
|
</script>
|