You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
vite-vue3-lowcode/preview/views/comp-render.tsx

31 lines
827 B

/*
* @Author: 卜启缘
* @Date: 2021-05-04 05:36:58
* @LastEditTime: 2021-07-06 23:51:26
* @LastEditors: 卜启缘
* @Description:
* @FilePath: \vite-vue3-lowcode\preview\views\comp-render.tsx
*/
import { defineComponent, PropType } from 'vue'
import type { VisualEditorBlockData } from '@/visual-editor/visual-editor.utils'
import { visualConfig } from '@/visual.config'
export default defineComponent({
name: 'CompRender',
props: {
element: {
type: Object as PropType<VisualEditorBlockData>,
default: () => ({})
}
},
setup(props) {
return () =>
visualConfig.componentMap[props.element.componentKey].render({
styles: props.element.styles || {},
props: props.element.props || {},
model: {},
block: props.element,
custom: {}
})
}
})