diff --git a/src/components/common-form/index.vue b/src/components/common-form/index.vue index 9205d60..63f7828 100644 --- a/src/components/common-form/index.vue +++ b/src/components/common-form/index.vue @@ -95,14 +95,20 @@ const emit = defineEmits(['submitForm', 'update:model']) const formModel = useVModel(props, 'model', emit) -watch(() => props.options, (options) => { - options.forEach(option => { - if (formModel.value) { - formModel.value[option.prop] = option.value || undefined - } - }) +const initFormModel = () => { + if (formModel.value) { + props.options.forEach(option => { + if (option.prop) { + formModel.value[option.prop] = option.value || undefined + } + }) + } rules.value = initRules() -}, { deep: true }) +} + +initFormModel() + +watch(() => props.options, initFormModel, { deep: true }) //= ============form暴露============// diff --git a/src/services/menu/MenuService.js b/src/services/menu/MenuService.js index ae932bb..20ed726 100644 --- a/src/services/menu/MenuService.js +++ b/src/services/menu/MenuService.js @@ -177,7 +177,7 @@ export const useBaseTopMenus = () => { { icon: 'user', isDropdown: true, - label: $i18nMsg(loginConfigStore.accountInfo.userNameCN, loginConfigStore.accountInfo.userNameEN), + label: loginConfigStore.accountInfo ? $i18nMsg(loginConfigStore.accountInfo.userNameCN, loginConfigStore.accountInfo.userNameEN) : '', children: [ { labelKey: 'common.label.personalInfo',