Browse Source
fix: locale switching logic correction (#5344)
* 修复语言切换后的数据更新逻辑
* 表单默认按钮的content属性可提供computed类型的值
pull/5348/head
Netfan
1 year ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with
6 additions and
5 deletions
-
packages/@core/ui-kit/form-ui/src/types.ts
-
packages/effects/layouts/src/basic/layout.vue
-
packages/effects/plugins/src/vxe-table/use-vxe-grid.vue
|
|
|
@ -4,7 +4,7 @@ import type { ZodTypeAny } from 'zod'; |
|
|
|
import type { Component, HtmlHTMLAttributes, Ref } from 'vue'; |
|
|
|
|
|
|
|
import type { VbenButtonProps } from '@vben-core/shadcn-ui'; |
|
|
|
import type { ClassType, Nullable } from '@vben-core/typings'; |
|
|
|
import type { ClassType, MaybeComputedRef, Nullable } from '@vben-core/typings'; |
|
|
|
|
|
|
|
import type { FormApi } from './form-api'; |
|
|
|
|
|
|
|
@ -316,7 +316,7 @@ export interface FormRenderProps< |
|
|
|
|
|
|
|
export interface ActionButtonOptions extends VbenButtonProps { |
|
|
|
[key: string]: any; |
|
|
|
content?: string; |
|
|
|
content?: MaybeComputedRef<string>; |
|
|
|
show?: boolean; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@ -6,7 +6,7 @@ import type { MenuRecordRaw } from '@vben/types'; |
|
|
|
import { computed, useSlots, watch } from 'vue'; |
|
|
|
|
|
|
|
import { useRefresh } from '@vben/hooks'; |
|
|
|
import { $t } from '@vben/locales'; |
|
|
|
import { $t, i18n } from '@vben/locales'; |
|
|
|
import { |
|
|
|
preferences, |
|
|
|
updatePreferences, |
|
|
|
@ -163,7 +163,8 @@ watch( |
|
|
|
); |
|
|
|
|
|
|
|
// 语言更新后,刷新页面 |
|
|
|
watch(() => preferences.app.locale, refresh, { flush: 'post' }); |
|
|
|
// i18n.global.locale会在preference.app.locale变更之后才会更新,因此watchpreference.app.locale是不合适的,刷新页面时可能语言配置尚未完全加载完成 |
|
|
|
watch(i18n.global.locale, refresh, { flush: 'post' }); |
|
|
|
|
|
|
|
const slots: SetupContext['slots'] = useSlots(); |
|
|
|
const headerSlots = computed(() => { |
|
|
|
|
|
|
|
@ -92,7 +92,7 @@ const [Form, formApi] = useTableForm({ |
|
|
|
}, |
|
|
|
showCollapseButton: true, |
|
|
|
submitButtonOptions: { |
|
|
|
content: $t('common.query'), |
|
|
|
content: computed(() => $t('common.search')), |
|
|
|
}, |
|
|
|
wrapperClass: 'grid-cols-1 md:grid-cols-2 lg:grid-cols-3', |
|
|
|
}); |
|
|
|
|