This commit is contained in:
jxxghp
2023-07-24 10:43:04 +08:00
parent 191283d72d
commit 7d5e30a5ca
+5 -3
View File
@@ -1,22 +1,24 @@
<script lang="ts" setup> <script lang="ts" setup>
import { type PropType, ref } from 'vue' import { type PropType, ref } from 'vue'
// 组件配置
interface RenderProps { interface RenderProps {
component: string component: string
content: any content: any
props: any
} }
// 输入参数 // 输入参数
const props = defineProps({ const elementProps = defineProps({
config: Array as PropType<RenderProps[]>, config: Array as PropType<RenderProps[]>,
}) })
// 配置表单 // 配置表单
const formItems = ref(props.config) const formItems = ref(elementProps.config)
</script> </script>
<template> <template>
<Component :is="item.component" v-for="(item, index) in formItems" :key="index"> <Component :is="item.component" v-for="(item, index) in formItems" :key="index" v-bind="item.props">
<FormRender v-for="(innerItem, innerIndex) in (item.content || [])" :key="innerIndex" :config="innerItem" /> <FormRender v-for="(innerItem, innerIndex) in (item.content || [])" :key="innerIndex" :config="innerItem" />
</Component> </Component>
</template> </template>