增加addEC/hasEC/getEC三个API方法,以便v-form-render可以跟外部组件交互。

This commit is contained in:
vdpAdmin 2022-05-03 09:45:01 +08:00
parent 9028208e1a
commit 67050d1114
2 changed files with 35 additions and 2 deletions

View File

@ -265,8 +265,11 @@
computed: {
formJson() {
return {
widgetList: this.designer.widgetList,
formConfig: this.designer.formConfig
// widgetList: this.designer.widgetList,
// formConfig: this.designer.formConfig
widgetList: deepClone(this.designer.widgetList),
formConfig: deepClone(this.designer.formConfig)
}
},

View File

@ -94,9 +94,12 @@
formDataModel: {
//
},
widgetRefList: {},
subFormRefList: {},
formId: null, //Idv-form-render
externalComponents: {}, //
}
},
computed: {
@ -629,6 +632,33 @@
return getAllContainerWidgets(this.formJsonObj.widgetList)
},
/**
* 增加外部组件引用可通过getEC()方法获取外部组件以便在VForm内部调用外部组件方法
* @param componentName 外部组件名称
* @param externalComponent 外部组件实例
*/
addEC(componentName, externalComponent) {
this.externalComponents[componentName] = externalComponent
},
/**
* 判断外部组件是否可获取
* @param componentName 外部组件名称
* @returns {boolean}
*/
hasEC(componentName) {
return this.externalComponents.hasOwnProperty(componentName)
},
/**
* 获取外部组件实例
* @param componentName
* @returns {*}
*/
getEC(componentName) {
return this.externalComponents[componentName]
},
//--------------------- API end ------------------//
},