pnpm install
pnpm dev
pnpm build
npm install exercise-form
//main.ts
import { createApp } from "vue";
import ElementPlus from "element-plus";
import ExerciseForm from "exercise-form"; // 组件引入
import "element-plus/dist/index.css";
import "exercise-form/dist/index.css"; // 样式引入
import * as ElementPlusIconsVue from "@element-plus/icons-vue";
import App from "./App.vue";
const app = createApp(App);
for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
app.component(key, component);
}
app.use(ElementPlus);
app.use(ExerciseForm);
app.mount("#app");<template>
<ex-form-designer :form-data="formData" :form-json="formJson" />
</template>
<script lang="ts" setup>
import { ref, reactive } from "vue";
import type { DesFormJson } from "exercise-form";
const formData = ref({}); //表单数据
const formJson = reactive<DesFormJson>({
formConfig: {}, //表单设置
widgetList: [] //组件列表
});
</script><template>
<ex-form-render
ref="vFormRenderRef"
:widget-list="widgetList"
:form-config="formConfig"
/>
</template>
<script lang="ts" setup>
import { ref } from "vue";
import type { DesWidgetList, DesFormConfig } from "exercise-form";
const vFormRenderRef = ref();
const formConfig = ref<DesFormConfig>({}); //表单数据
const widgetList = ref<DesWidgetList>([]); //组件列表
</script>