@iswangh/element-plus-kit-form 0.2.1 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -5
- package/dist/FormAction.vue.d.ts.map +1 -1
- package/dist/FormItem.vue.d.ts.map +1 -1
- package/dist/composables/index.d.ts +1 -1
- package/dist/composables/index.d.ts.map +1 -1
- package/dist/composables/useChangeEventState.d.ts +2 -2
- package/dist/composables/useChangeEventState.d.ts.map +1 -1
- package/dist/composables/useLoadOptions.d.ts +57 -0
- package/dist/composables/useLoadOptions.d.ts.map +1 -0
- package/dist/config/comp.d.ts +1 -5
- package/dist/config/comp.d.ts.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +721 -878
- package/dist/style.css +1 -1
- package/dist/types/form-item.d.ts +4 -13
- package/dist/types/index.d.ts +8 -9
- package/dist/types/options.d.ts +3 -62
- package/dist/utils/action.d.ts.map +1 -1
- package/dist/utils/index.d.ts +0 -2
- package/dist/utils/index.d.ts.map +1 -1
- package/package.json +3 -2
- package/dist/composables/useClearState.d.ts +0 -17
- package/dist/composables/useClearState.d.ts.map +0 -1
- package/dist/types/index.d.ts.map +0 -1
- package/dist/utils/options.d.ts +0 -21
- package/dist/utils/options.d.ts.map +0 -1
- package/dist/utils/value.d.ts +0 -21
- package/dist/utils/value.d.ts.map +0 -1
package/README.md
CHANGED
|
@@ -152,11 +152,12 @@ interface FormItem<C extends FormItemComp = FormItemComp> {
|
|
|
152
152
|
prop: string // 表单字段名(必填)
|
|
153
153
|
label: string // 标签文本
|
|
154
154
|
compType: FormItemComp // 组件类型(必填)
|
|
155
|
-
compProps?: FormItemCompProps<C> // 组件属性配置
|
|
156
|
-
//
|
|
157
|
-
//
|
|
158
|
-
//
|
|
159
|
-
//
|
|
155
|
+
compProps?: FormItemCompProps<C> // 组件属性配置 // 对于支持 options 的组件(如 select、cascader、radio、checkbox 等),支持两种配置方式:
|
|
156
|
+
// 1. 静态数组:compProps.options: [{ label: '选项1', value: '1' }]
|
|
157
|
+
// 2. 动态加载(compProps.optionsLoader):
|
|
158
|
+
// - 函数模式:optionsLoader: (formData: Record<string, unknown>) => [{ label: '选项1', value: '1' }]
|
|
159
|
+
// - 对象模式:optionsLoader: { loader: (formData: Record<string, unknown>) => [...], deps: ['field1'], immediate: true }
|
|
160
|
+
// 当同时配置 options 和 optionsLoader 时,optionsLoader 优先级更高
|
|
160
161
|
vIf?: boolean | ((data?: any) => boolean) // 条件渲染(v-if)
|
|
161
162
|
vShow?: boolean | ((data?: any) => boolean) // 显示/隐藏(v-show)
|
|
162
163
|
colProps?: ColProps // 列布局属性(ElCol 属性)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormAction.vue.d.ts","sourceRoot":"","sources":["../src/FormAction.vue"],"names":[],"mappings":"AACA;
|
|
1
|
+
{"version":3,"file":"FormAction.vue.d.ts","sourceRoot":"","sources":["../src/FormAction.vue"],"names":[],"mappings":"AACA;AA+JA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,KAAK,CAAA;AAC/B,OAAO,KAAK,EAAwB,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAMrE,UAAU,KAAK;IACb,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,UAAU,CAAC,EAAE,IAAI,CAAA;IACjB,MAAM,CAAC,EAAE,gBAAgB,CAAA;IACzB,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,mBAAmB;IACnB,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,8BAA8B;IAC9B,YAAY,CAAC,EAAE,MAAM,IAAI,CAAA;IACzB,8BAA8B;IAC9B,YAAY,CAAC,EAAE,MAAM,IAAI,CAAA;CAC1B;AAqGD,iBAAS,cAAc;WAsHT,OAAO,IAA6B;;yBAVpB,GAAG;;;;EAehC;AAoBD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;;;;;;mBAlPiB,MAAM;eAAS,GAAG;;;;;;;;mBAAlB,MAAM;eAAS,GAAG;;;cAV3C,OAAO;YAJT,OAAO;YAEP,gBAAgB;4EAqQzB,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAEpG,KAAK,kBAAkB,CAAC,CAAC,EAAE,CAAC,IAAI;KAC9B,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,GAC7C,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;QAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;KAAC,CAAC,GAC5C,CAAC,CAAC,CAAC,CAAC;CACP,CAAC;AACF,KAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;AACjE,KAAK,uBAAuB,CAAC,CAAC,IAAI;KAChC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GACpC;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,GAC9D;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE;CACzD,CAAC;AACF,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC;AACF,KAAK,mBAAmB,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAG,GAAG,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormItem.vue.d.ts","sourceRoot":"","sources":["../src/FormItem.vue"],"names":[],"mappings":"AACA;
|
|
1
|
+
{"version":3,"file":"FormItem.vue.d.ts","sourceRoot":"","sources":["../src/FormItem.vue"],"names":[],"mappings":"AACA;AAgLA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,KAAK,CAAA;AAC/B,OAAO,KAAK,EAAE,QAAQ,EAA+B,MAAM,SAAS,CAAA;AAMpE,UAAU,aAAa;IACrB,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,IAAI,CAAA;CACb;AAED,UAAU,SAAS;IACjB,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,CAAA;IAC3C,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,CAAA;CAC/C;AAED,UAAU,KAAK;IACb,QAAQ,EAAE,QAAQ,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC9B,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,CAAA;IAC1D,SAAS,CAAC,EAAE,SAAS,CAAA;CACtB;AAQD,KAAK,WAAW,GAAG,KAAK,CAAC;AAiHzB,KAAK,iBAAiB,GAAG;IACzB,UAAU,CAAC,EAAE,GAAG,CAAC;CAChB,GAAG,WAAW,CAAC;;;;;;;;;;;;;;cA9HH,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;eAElB,SAAS;;AAuQvB,wBAUG;AAEH,KAAK,kBAAkB,CAAC,CAAC,EAAE,CAAC,IAAI;KAC9B,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,GAC7C,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;QAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;KAAC,CAAC,GAC5C,CAAC,CAAC,CAAC,CAAC;CACP,CAAC;AACF,KAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;AACjE,KAAK,uBAAuB,CAAC,CAAC,IAAI;KAChC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GACpC;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,GAC9D;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE;CACzD,CAAC;AACF,KAAK,mBAAmB,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAG,GAAG,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/composables/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAA;AACtC,cAAc,uBAAuB,CAAA;AACrC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/composables/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAA;AACtC,cAAc,uBAAuB,CAAA;AACrC,cAAc,kBAAkB,CAAA"}
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
* 用于区分不同类型的值变化,防止重复触发 change 事件
|
|
4
4
|
*/
|
|
5
5
|
export declare function useChangeEventState(): {
|
|
6
|
-
/**
|
|
7
|
-
readonly
|
|
6
|
+
/** 是否在用户交互期间 */
|
|
7
|
+
readonly isUserInteractionDuring: boolean;
|
|
8
8
|
/** 开始用户交互 */
|
|
9
9
|
start(): void;
|
|
10
10
|
/** 结束用户交互(在 nextTick 中调用) */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useChangeEventState.d.ts","sourceRoot":"","sources":["../../src/composables/useChangeEventState.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,mBAAmB;IAI/B,
|
|
1
|
+
{"version":3,"file":"useChangeEventState.d.ts","sourceRoot":"","sources":["../../src/composables/useChangeEventState.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,mBAAmB;IAI/B,gBAAgB;;IAKhB,aAAa;;IAKb,6BAA6B;;EAKhC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 选项结果类型
|
|
3
|
+
*/
|
|
4
|
+
type OptionsResult = any[] | Array<{
|
|
5
|
+
prop: string;
|
|
6
|
+
options: any[];
|
|
7
|
+
}>;
|
|
8
|
+
/**
|
|
9
|
+
* 选项加载组合式函数
|
|
10
|
+
*
|
|
11
|
+
* @param formItems - 表单配置项
|
|
12
|
+
* @param formData - 表单数据(可选),会传递给 optionsLoader 函数
|
|
13
|
+
* @returns 加载函数、获取函数和加载状态
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
*
|
|
17
|
+
* const form = ref({ province: '1' })
|
|
18
|
+
* const formItems = ref<FormItems>([
|
|
19
|
+
* {
|
|
20
|
+
* prop: 'city',
|
|
21
|
+
* compType: 'select',
|
|
22
|
+
* compProps: {
|
|
23
|
+
* optionsLoader: (formData) => {
|
|
24
|
+
* const province = formData?.province || form.value.province
|
|
25
|
+
* return fetch(`/api/cities?province=${province}`).then(r => r.json())
|
|
26
|
+
* },
|
|
27
|
+
* },
|
|
28
|
+
* },
|
|
29
|
+
* ])
|
|
30
|
+
*
|
|
31
|
+
* const { loadOptions, getOptions, loading } = useLoadOptions(formItems.value, form.value)
|
|
32
|
+
*
|
|
33
|
+
* // 加载单个字段的选项
|
|
34
|
+
* await loadOptions('city')
|
|
35
|
+
*
|
|
36
|
+
* // 加载多个字段的选项
|
|
37
|
+
* await loadOptions(['city', 'district'])
|
|
38
|
+
*
|
|
39
|
+
* // 加载所有有 optionsLoader 的字段
|
|
40
|
+
* await loadOptions()
|
|
41
|
+
*
|
|
42
|
+
* // 获取单个字段的选项
|
|
43
|
+
* const cityOptions = getOptions('city') // 返回: any[]
|
|
44
|
+
*
|
|
45
|
+
* // 获取多个字段的选项
|
|
46
|
+
* const options = getOptions(['city', 'district']) // 返回: [{prop: 'city', options: [...]}, ...]
|
|
47
|
+
*
|
|
48
|
+
* // 获取所有字段的选项
|
|
49
|
+
* const allOptions = getOptions() // 返回: [{prop: 'city', options: [...]}, ...]
|
|
50
|
+
*/
|
|
51
|
+
export declare function useLoadOptions(formItems: any[], formData?: Record<string, any>): {
|
|
52
|
+
loading: import('vue').Ref<boolean, boolean>;
|
|
53
|
+
loadOptions: (props?: string | string[]) => Promise<void>;
|
|
54
|
+
getOptions: (props?: string | string[]) => OptionsResult;
|
|
55
|
+
};
|
|
56
|
+
export {};
|
|
57
|
+
//# sourceMappingURL=useLoadOptions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useLoadOptions.d.ts","sourceRoot":"","sources":["../../src/composables/useLoadOptions.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,KAAK,aAAa,GAAG,GAAG,EAAE,GAAG,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,GAAG,EAAE,CAAA;CAAE,CAAC,CAAA;AAEpE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAEH,wBAAgB,cAAc,CAAC,SAAS,EAAE,GAAG,EAAE,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;;0BAqB1C,MAAM,GAAG,MAAM,EAAE,KAAG,OAAO,CAAC,IAAI,CAAC;yBAkCxC,MAAM,GAAG,MAAM,EAAE,KAAG,aAAa;EAmB9D"}
|
package/dist/config/comp.d.ts
CHANGED
|
@@ -23,11 +23,7 @@ export declare const COMP_DEFAULT_CONFIG: {
|
|
|
23
23
|
/**
|
|
24
24
|
* 获取组件默认属性
|
|
25
25
|
*/
|
|
26
|
-
getDefaults(formItem: FormItem):
|
|
27
|
-
[x: string]: any;
|
|
28
|
-
options?: any[] | import('../types').OptionsLoader | import('../types').OptionsConfig | undefined;
|
|
29
|
-
slots?: import('../types').CompSlotsConfig<import('../types').FormItemComp> | undefined;
|
|
30
|
-
};
|
|
26
|
+
getDefaults(formItem: FormItem): any;
|
|
31
27
|
/**
|
|
32
28
|
* 判断组件类型
|
|
33
29
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"comp.d.ts","sourceRoot":"","sources":["../../src/config/comp.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAGxC;;;GAGG;AACH,eAAO,MAAM,eAAe;;CAA6B,CAAA;AA+BzD;;;;;;;;GAQG;AACH,eAAO,MAAM,kBAAkB,EAAwD,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;AAE1G;;GAEG;AACH,eAAO,MAAM,mBAAmB;IAC9B;;OAEG;0BACmB,QAAQ
|
|
1
|
+
{"version":3,"file":"comp.d.ts","sourceRoot":"","sources":["../../src/config/comp.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAGxC;;;GAGG;AACH,eAAO,MAAM,eAAe;;CAA6B,CAAA;AA+BzD;;;;;;;;GAQG;AACH,eAAO,MAAM,kBAAkB,EAAwD,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;AAE1G;;GAEG;AACH,eAAO,MAAM,mBAAmB;IAC9B;;OAEG;0BACmB,QAAQ;IAe9B;;OAEG;sBACe,MAAM;IAoBxB;;OAEG;kCAC2B,QAAQ,QAAQ,MAAM;IAkBpD;;OAEG;6BACsB,QAAQ,QAAQ,MAAM;CAYhD,CAAA"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAMH,OAAO,2CAA2C,CAAA;AAClD,OAAO,gDAAgD,CAAA;AAEvD,OAAO,0CAA0C,CAAA;AACjD,OAAO,0CAA0C,CAAA;AAEjD,OAAO,6CAA6C,CAAA;AAEpD,OAAO,2CAA2C,CAAA;AAKlD,OAAO,4CAA4C,CAAA;AACnD,OAAO,mDAAmD,CAAA;AAC1D,OAAO,gDAAgD,CAAA;AACvD,OAAO,mDAAmD,CAAA;AAC1D,OAAO,8CAA8C,CAAA;AAErD,OAAO,6CAA6C,CAAA;AACpD,OAAO,gDAAgD,CAAA;AACvD,OAAO,+CAA+C,CAAA;AACtD,OAAO,kDAAkD,CAAA;AAEzD,OAAO,kDAAkD,CAAA;AACzD,OAAO,wDAAwD,CAAA;AAC/D,OAAO,kDAAkD,CAAA;AACzD,OAAO,kDAAkD,CAAA;AAEzD,OAAO,qDAAqD,CAAA;AAC5D,OAAO,kDAAkD,CAAA;AACzD,OAAO,6CAA6C,CAAA;AACpD,OAAO,6CAA6C,CAAA;AACpD,OAAO,2CAA2C,CAAA;AAClD,OAAO,mDAAmD,CAAA;AAC1D,OAAO,yDAAyD,CAAA;AAChE,OAAO,+CAA+C,CAAA;AAEtD,OAAO,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAMH,OAAO,2CAA2C,CAAA;AAClD,OAAO,gDAAgD,CAAA;AAEvD,OAAO,0CAA0C,CAAA;AACjD,OAAO,0CAA0C,CAAA;AAEjD,OAAO,6CAA6C,CAAA;AAEpD,OAAO,2CAA2C,CAAA;AAKlD,OAAO,4CAA4C,CAAA;AACnD,OAAO,mDAAmD,CAAA;AAC1D,OAAO,gDAAgD,CAAA;AACvD,OAAO,mDAAmD,CAAA;AAC1D,OAAO,8CAA8C,CAAA;AAErD,OAAO,6CAA6C,CAAA;AACpD,OAAO,gDAAgD,CAAA;AACvD,OAAO,+CAA+C,CAAA;AACtD,OAAO,kDAAkD,CAAA;AAEzD,OAAO,kDAAkD,CAAA;AACzD,OAAO,wDAAwD,CAAA;AAC/D,OAAO,kDAAkD,CAAA;AACzD,OAAO,kDAAkD,CAAA;AAEzD,OAAO,qDAAqD,CAAA;AAC5D,OAAO,kDAAkD,CAAA;AACzD,OAAO,6CAA6C,CAAA;AACpD,OAAO,6CAA6C,CAAA;AACpD,OAAO,2CAA2C,CAAA;AAClD,OAAO,mDAAmD,CAAA;AAC1D,OAAO,yDAAyD,CAAA;AAChE,OAAO,+CAA+C,CAAA;AAEtD,OAAO,oBAAoB,CAAA;AAG3B,cAAc,eAAe,CAAA;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEpC,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,YAAY,CAAA;AAE7C,YAAY,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA"}
|