组件中获取设计器
在自定义组件中,可以通过 Vue 依赖注入机制获取设计器实例,从而实现对表单设计器的编程式访问和控制。
设计器实例的完整数据结构和可用方法请查阅帮助文档。
vue
<template>
<input type="text" v-model="title" @change="onChange">
</template>
<script>
import {defineComponent} from 'vue';
export default defineComponent({
name: 'FieldInput',
// 关键步骤:声明需要注入的设计器实例
// Vue会自动从父组件中查找并提供designer实例
inject: ['designer'],
data() {
return {
title: ''
}
},
computed: {
activeRule() {
return this.designer.setupState.activeRule;
//return this.designer.activeRule; (vue2)
}
},
methods: {
onChange() {
//直接修改当前选中的规则
this.activeRule.title = this.title;
}
}
});
</script>
通过掌握设计器实例的获取和使用,您将能够创建出功能强大的自定义组件,深度集成到表单设计器中。