From ad31d9f2ffe9372f6bc5108b305086a700ca61de Mon Sep 17 00:00:00 2001 From: Charles7c Date: Wed, 16 Oct 2024 21:19:00 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E4=BC=98=E5=8C=96=20GiForm=20?= =?UTF-8?q?=E7=BB=84=E4=BB=B6=E4=BB=A3=E7=A0=81=EF=BC=88=E5=90=8C=E6=AD=A5?= =?UTF-8?q?=20GiDemo=20=E6=9B=B4=E6=96=B0=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/GiForm/src/GiForm.vue | 261 ++++++++------------------- src/components/GiForm/src/type.ts | 18 +- 2 files changed, 85 insertions(+), 194 deletions(-) diff --git a/src/components/GiForm/src/GiForm.vue b/src/components/GiForm/src/GiForm.vue index 9dd4818..7889a3c 100644 --- a/src/components/GiForm/src/GiForm.vue +++ b/src/components/GiForm/src/GiForm.vue @@ -1,196 +1,30 @@ diff --git a/src/components/GiForm/src/type.ts b/src/components/GiForm/src/type.ts index b58693b..e3c1167 100644 --- a/src/components/GiForm/src/type.ts +++ b/src/components/GiForm/src/type.ts @@ -2,28 +2,32 @@ import type * as A from '@arco-design/web-vue' export type FormType = | 'input' + | 'input-password' + | 'input-number' | 'select' | 'radio-group' | 'checkbox-group' | 'textarea' | 'date-picker' - | 'time-picker' | 'year-picker' | 'quarter-picker' | 'week-picker' | 'range-picker' | 'month-picker' + | 'time-picker' | 'color-picker' - | 'input-number' | 'rate' | 'switch' | 'slider' | 'cascader' | 'tree-select' - | 'input-password' + | 'upload' + | 'group-title' export type ColumnsItemPropsKey = | keyof A.InputInstance['$props'] + | keyof A.InputPasswordInstance['$props'] + | keyof A.InputNumberInstance['$props'] | keyof A.SelectInstance['$props'] | keyof A.TextareaInstance['$props'] | keyof A.DatePickerInstance['$props'] @@ -35,13 +39,14 @@ export type ColumnsItemPropsKey = | keyof A.RangePickerInstance['$props'] | keyof A.RadioGroupInstance['$props'] | keyof A.CheckboxGroupInstance['$props'] - | keyof A.InputNumberInstance['$props'] | keyof A.ColorPickerInstance['$props'] | keyof A.RateInstance['$props'] | keyof A.SwitchInstance['$props'] | keyof A.SliderInstance['$props'] | keyof A.CascaderInstance['$props'] | keyof A.TreeSelectInstance['$props'] + | keyof A.UploadInstance['$props'] + | keyof A.AlertInstance['$props'] export type ColumnsItemHide = boolean | ((form: F) => boolean) export type ColumnsItemDisabled = boolean | ((form: F) => boolean) @@ -71,18 +76,21 @@ export interface ColumnsItem { item?: Omit // a-form-item的props props?: & A.InputInstance['$props'] + & A.InputPasswordInstance['$props'] + & A.InputNumberInstance['$props'] & A.SelectInstance['$props'] & A.TextareaInstance['$props'] & A.DatePickerInstance['$props'] & A.TimePickerInstance['$props'] & A.RadioGroupInstance['$props'] & A.CheckboxGroupInstance['$props'] - & A.InputNumberInstance['$props'] & A.RateInstance['$props'] & A.SwitchInstance['$props'] & A.SliderInstance['$props'] & A.CascaderInstance['$props'] & A.TreeSelectInstance['$props'] + & A.UploadInstance['$props'] + & A.AlertInstance['$props'] rules?: A.FormItemInstance['$props']['rules'] // 表单校验规则 // 下拉列表|复选框组|单选框组|级联选择组件的options options?: