diff --git a/src/components/AutoDataForm/index.vue b/src/components/AutoDataForm/index.vue index 35bc850ef..857c24bbf 100644 --- a/src/components/AutoDataForm/index.vue +++ b/src/components/AutoDataForm/index.vue @@ -79,9 +79,6 @@ export default { _cleanFormValue(form, remoteMeta) { for (const [k, v] of Object.entries(remoteMeta)) { let valueSet = form[k] - if (valueSet !== undefined) { - continue - } if (v.type === 'nested object') { if (typeof valueSet !== 'object') { valueSet = {} @@ -91,6 +88,9 @@ export default { this._cleanFormValue(form[k], v.children) } } + if (valueSet !== undefined) { + continue + } if (v.default === undefined) { continue } diff --git a/src/views/assets/Cloud/Account/AccountCreateUpdate.vue b/src/views/assets/Cloud/Account/AccountCreateUpdate.vue index dee9fecc4..d76c96602 100644 --- a/src/views/assets/Cloud/Account/AccountCreateUpdate.vue +++ b/src/views/assets/Cloud/Account/AccountCreateUpdate.vue @@ -32,6 +32,9 @@ export default { } return { initial: { + attrs: { + ip_group: [] + }, provider: this.$route.query.provider, port: 443 }, @@ -49,6 +52,8 @@ export default { encryptedFields: ['access_key_secret'], fields: accountProviderAttrs.attrs, fieldsMeta: { + // 必须放在最上面,下面特殊制定的字段才会覆盖默认 + ...setFieldAttrs(), service_account_key: { label: this.$t('xpack.Cloud.ServerAccountKey'), component: UploadKey, @@ -58,8 +63,7 @@ export default { }, password: { rules: this.$route.params.id ? [] : [Required] - }, - ...setFieldAttrs() + } } }, provider: { @@ -101,10 +105,6 @@ export default { return values }, afterGetFormValue(formValue) { - // 这里有点奇怪获取回来的表单数据是这样的: port 不知怎么来的 - // port: 443 - // provider: "lan" - // validity: false if (!formValue.attrs) { return formValue }