BoldSign®Effortlessly integrate e-signatures into your app with the BoldSign® API. Create a sandbox account!
<template>
<div>
<ul id="dialogList">
<li v-for="item in contentProp" :key="item.message">
{{ item.message }}
</li>
</ul>
</div>
</template> |
<ejs-dialog id="dialog" ref="templateDialog" :target="target" :height="height" :width="width" :visible="false" :allowDragging="true"
:header="headerTemplate(headerProp)"
:content="contentTemplate(contentProp)"
:footerTemplate="footerTemplate(footerProp)" :showCloseIcon="true"
></ejs-dialog>
data: function () {
return {
headerProp: "",
contentProp: {
type: Array,
},
………
………
contentTemplate: function () {
return () => {
return {
template: {
extends: ContentTemplate,
propsData: {
contentProp: [
{ message: "List Item 1" },
{ message: "List Item 2" },
{ message: "List Item 3" },
{ message: "List Item 4" },
],
},
},
};
};
},
|
<template>
<div id="childDialogTarget">
<ejs-dialog id="childDialog" ref="customTemplateDialog" visible="true" allowDragging="true" minHeight="200px"
:target="childTarget"
:content="dialogChildTemp"
></ejs-dialog>
</div>
</template>
<script>
import Vue from "vue";
var dialogChildContent = Vue.component("demo2", {
template: `<div>
<ul id="dialogList">
<li v-for="item in this.$parent.$parent.$props.contentProp" :key="item.message">
{{ item.message }}
</li>
</ul></div>`,
});
export default {
data: function () {
return {
dialogChildTemp: function () {
return {
template: dialogChildContent,
};
},
};
},
name: "ContentTemplate",
props: {
contentProp: { type: Array },
childTarget: { type: String },
},
};
</script> |