diff --git a/docs/src/components/common-ui/vben-form.md b/docs/src/components/common-ui/vben-form.md index a6d455253..aed2b9f85 100644 --- a/docs/src/components/common-ui/vben-form.md +++ b/docs/src/components/common-ui/vben-form.md @@ -395,7 +395,7 @@ export interface FormCommonConfig { * 所有表单项的栅格布局 * @default "" */ - formItemClass?: string; + formItemClass?: (() => string) | string; /** * 隐藏所有表单项label * @default false diff --git a/packages/@core/ui-kit/form-ui/src/form-render/form.vue b/packages/@core/ui-kit/form-ui/src/form-render/form.vue index ff827c42a..a8ca22a49 100644 --- a/packages/@core/ui-kit/form-ui/src/form-render/form.vue +++ b/packages/@core/ui-kit/form-ui/src/form-render/form.vue @@ -12,7 +12,12 @@ import type { import { computed } from 'vue'; import { Form } from '@vben-core/shadcn-ui'; -import { cn, isString, mergeWithArrayOverride } from '@vben-core/shared/utils'; +import { + cn, + isFunction, + isString, + mergeWithArrayOverride, +} from '@vben-core/shared/utils'; import { provideFormRenderProps } from './context'; import { useExpandable } from './expandable'; @@ -110,6 +115,17 @@ const computedSchema = computed( ? keepIndex <= index : false; + // 处理函数形式的formItemClass + let resolvedSchemaFormItemClass = schema.formItemClass; + if (isFunction(schema.formItemClass)) { + try { + resolvedSchemaFormItemClass = schema.formItemClass(); + } catch (error) { + console.error('Error calling formItemClass function:', error); + resolvedSchemaFormItemClass = ''; + } + } + return { colon, disabled, @@ -133,7 +149,7 @@ const computedSchema = computed( 'flex-shrink-0', { hidden }, formItemClass, - schema.formItemClass, + resolvedSchemaFormItemClass, ), labelClass: cn(labelClass, schema.labelClass), }; diff --git a/packages/@core/ui-kit/form-ui/src/types.ts b/packages/@core/ui-kit/form-ui/src/types.ts index 9838f6b6d..78c74ee5a 100644 --- a/packages/@core/ui-kit/form-ui/src/types.ts +++ b/packages/@core/ui-kit/form-ui/src/types.ts @@ -176,10 +176,10 @@ export interface FormCommonConfig { */ formFieldProps?: FormFieldOptions; /** - * 所有表单项的栅格布局 + * 所有表单项的栅格布局,支持函数形式 * @default "" */ - formItemClass?: string; + formItemClass?: (() => string) | string; /** * 隐藏所有表单项label * @default false diff --git a/packages/effects/layouts/src/widgets/lock-screen/lock-screen.vue b/packages/effects/layouts/src/widgets/lock-screen/lock-screen.vue index 736d09d5b..6fb7a54a4 100644 --- a/packages/effects/layouts/src/widgets/lock-screen/lock-screen.vue +++ b/packages/effects/layouts/src/widgets/lock-screen/lock-screen.vue @@ -85,7 +85,7 @@ useScrollLock();
{{ $t('ui.widgets.lockScreen.unlock') }}
-
-
- - {{ meridiem }} - - {{ hour }} -
-
- {{ minute }} +
+
+
+ + {{ meridiem }} + + {{ hour }} +
+
+ {{ minute }} +
@@ -117,9 +121,8 @@ useScrollLock(); class="flex-center size-full" @keydown.enter.prevent="handleSubmit" > -
+
-
@@ -145,12 +148,13 @@ useScrollLock();
-
- {{ hour }}:{{ minute }} {{ meridiem }} +
+ {{ hour }}:{{ minute }} + {{ meridiem }}
-
{{ date }}
+
{{ date }}
diff --git a/packages/effects/plugins/src/vxe-table/use-vxe-grid.vue b/packages/effects/plugins/src/vxe-table/use-vxe-grid.vue index f3eb6735a..9844c409d 100644 --- a/packages/effects/plugins/src/vxe-table/use-vxe-grid.vue +++ b/packages/effects/plugins/src/vxe-table/use-vxe-grid.vue @@ -300,7 +300,7 @@ async function init() { const enableProxyConfig = options.value.proxyConfig?.enabled; if (enableProxyConfig && autoLoad) { props.api.grid.commitProxy?.( - '_init', + 'initial', formOptions.value ? ((await formApi.getValues()) ?? {}) : {}, ); // props.api.reload(formApi.form?.values ?? {}); diff --git a/playground/src/views/examples/vxe-table/remote.vue b/playground/src/views/examples/vxe-table/remote.vue index 907c1e2cd..7042019fb 100644 --- a/playground/src/views/examples/vxe-table/remote.vue +++ b/playground/src/views/examples/vxe-table/remote.vue @@ -55,7 +55,7 @@ const gridOptions: VxeGridProps = { custom: true, export: true, // import: true, - refresh: { code: 'query' }, + refresh: true, zoom: true, }, }; diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 8466b7615..59d652674 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -204,8 +204,8 @@ catalog: vue-router: ^4.5.1 vue-tippy: ^6.7.1 vue-tsc: 2.2.10 - vxe-pc-ui: ^4.6.42 - vxe-table: ^4.13.51 + vxe-pc-ui: ^4.7.12 + vxe-table: ^4.14.4 watermark-js-plus: ^1.6.2 zod: ^3.25.67 zod-defaults: ^0.1.3