为了快速地添加输入组件以及使用已存在的组件,引入属性输入组件注册器
何时使用
需要使用河图属性设计器,并且仅靠内置的属性输入组件无法实现具体的值输入场景,需要引入新的值输入组件。
class PropertyRegister { assets: any = {}; /** * 组件注册 * @param viewType * @returns */ append(componentName, componentAsset) { if (this.assets[componentName]) { //重复注册提示 console.error(`The component ${componentName} has been registered!`); return; } this.assets[componentName] = componentAsset; return this; } //获取所有注册的组件 getAssets(componentName?: string) { return componentName ? this.assets[componentName] : this.assets; } } export const propertyRegister = new PropertyRegister();
import { propertyRegister } from 'cloudpivot-designer/designer-core/property-panel'; import ReceiverSelectModal from './receiver-select-modal.vue'; import BindBizMethodModal from './bind-biz-method-modal.vue'; import SingleConditionGroup from './single-condition-group.vue'; import TwoConditionGroup from './two-condition-group.vue'; import RuleVariableModal from './rule-variable-modal.vue'; propertyRegister .append('receiver-select-modal', ReceiverSelectModal) .append('bind-biz-method-modal', BindBizMethodModal) .append('single-condition-group', SingleConditionGroup) .append('two-condition-group', TwoConditionGroup) .append('rule-variable-modal', RuleVariableModal);
注意事项
属性注册器添加组件,为了避免影响其他模块的正常使用,只允许添加组件,不允许覆盖组件
-
有用(5)
-
没有用(0)