From e23fdf87e6c3bc6d42198b9309617195f2efd6c0 Mon Sep 17 00:00:00 2001
From: Ben Lin <maobin001@msn.com>
Date: 星期六, 06 七月 2024 23:40:08 +0800
Subject: [PATCH] 高级表单优化

---
 src/views/demo/form/DynamicForm.vue |  121 +++++++++++++++++-----------------------
 1 files changed, 52 insertions(+), 69 deletions(-)

diff --git a/src/views/demo/form/DynamicForm.vue b/src/views/demo/form/DynamicForm.vue
index 80de8a4..1f3dbac 100644
--- a/src/views/demo/form/DynamicForm.vue
+++ b/src/views/demo/form/DynamicForm.vue
@@ -15,11 +15,10 @@
     </CollapseContainer>
   </PageWrapper>
 </template>
-<script lang="ts">
-  import { defineComponent } from 'vue';
-  import { BasicForm, FormSchema, useForm } from '/@/components/Form/index';
-  import { CollapseContainer } from '/@/components/Container/index';
-  import { PageWrapper } from '/@/components/Page';
+<script lang="ts" setup>
+  import { BasicForm, FormSchema, useForm } from '@/components/Form';
+  import { CollapseContainer } from '@/components/Container';
+  import { PageWrapper } from '@/components/Page';
 
   const schemas: FormSchema[] = [
     {
@@ -138,7 +137,7 @@
       componentProps: ({ formModel }) => {
         return {
           placeholder: '鍚屾f2鐨勫�间负f1',
-          onChange: (e: ChangeEvent) => {
+          onChange: (e) => {
             formModel.f2 = e.target.value;
           },
         };
@@ -178,69 +177,53 @@
     },
   ];
 
-  export default defineComponent({
-    components: { BasicForm, CollapseContainer, PageWrapper },
-    setup() {
-      const [register, { setProps, updateSchema, appendSchemaByField, removeSchemaByField }] =
-        useForm({
-          labelWidth: 120,
-          schemas,
-          actionColOptions: {
-            span: 24,
-          },
-        });
-      const [register1] = useForm({
-        labelWidth: 120,
-        schemas: schemas1,
-        actionColOptions: {
-          span: 24,
-        },
-      });
-      function changeLabel3() {
-        updateSchema({
-          field: 'field3',
-          label: '瀛楁3 New',
-        });
-      }
-      function changeLabel34() {
-        updateSchema([
-          {
-            field: 'field3',
-            label: '瀛楁3 New++',
-          },
-          {
-            field: 'field4',
-            label: '瀛楁4 New++',
-          },
-        ]);
-      }
-
-      function appendField() {
-        appendSchemaByField(
-          {
-            field: 'field10',
-            label: '瀛楁10',
-            component: 'Input',
-            colProps: {
-              span: 8,
-            },
-          },
-          'field3',
-        );
-      }
-      function deleteField() {
-        removeSchemaByField('field11');
-      }
-      return {
-        register,
-        register1,
-        schemas,
-        setProps,
-        changeLabel3,
-        changeLabel34,
-        appendField,
-        deleteField,
-      };
+  const [register, { updateSchema, appendSchemaByField, removeSchemaByField }] = useForm({
+    labelWidth: 120,
+    schemas,
+    actionColOptions: {
+      span: 24,
     },
   });
+  const [register1] = useForm({
+    labelWidth: 120,
+    schemas: schemas1,
+    actionColOptions: {
+      span: 24,
+    },
+  });
+  function changeLabel3() {
+    updateSchema({
+      field: 'field3',
+      label: '瀛楁3 New',
+    });
+  }
+  function changeLabel34() {
+    updateSchema([
+      {
+        field: 'field3',
+        label: '瀛楁3 New++',
+      },
+      {
+        field: 'field4',
+        label: '瀛楁4 New++',
+      },
+    ]);
+  }
+
+  function appendField() {
+    appendSchemaByField(
+      {
+        field: 'field10',
+        label: '瀛楁10',
+        component: 'Input',
+        colProps: {
+          span: 8,
+        },
+      },
+      'field3',
+    );
+  }
+  function deleteField() {
+    removeSchemaByField('field11');
+  }
 </script>

--
Gitblit v1.9.3