diff --git a/src/components/Form/AutoDataForm/components/NestedField.vue b/src/components/Form/AutoDataForm/components/NestedField.vue index 0466548fe..28c9db17b 100644 --- a/src/components/Form/AutoDataForm/components/NestedField.vue +++ b/src/components/Form/AutoDataForm/components/NestedField.vue @@ -3,12 +3,13 @@ v-if="!loading" :disabled="disabled" :fields="iFields" - :form="value" + :form="iValue" class="sub-form" v-bind="kwargs" @change="updateValue($event)" @input="updateValue($event)" v-on="$listeners" + @submit.native.prevent /> @@ -42,6 +43,7 @@ export default { return { loading: false, formJson: JSON.stringify(this.value), + iValue: this.value, kwargs: { hasReset: false, hasSaveContinue: false, @@ -71,15 +73,22 @@ export default { } }, watch: { + iValue: { + handler(val) { + this.formJson = JSON.stringify(val) + }, + deep: true + }, value: { handler(val) { const valJson = JSON.stringify(val) // 如果不想等,证明是 value 自己变化导致的, 需要重新渲染 if (valJson !== this.formJson) { + this.iValue = val this.loading = true setTimeout(() => { this.loading = false - }, 10) + }, 100) } }, deep: true @@ -87,8 +96,10 @@ export default { }, methods: { updateValue(val) { - this.formJson = JSON.stringify(val) - this.$emit('input', val) + this.iValue = val + setTimeout(() => { + this.$emit('input', val) + }, 100) }, objectToString(obj) { let data = '' @@ -105,7 +116,7 @@ export default { } - diff --git a/src/views/settings/Terminal/index.vue b/src/views/settings/Terminal/index.vue index 73ea975a7..72b58b63b 100644 --- a/src/views/settings/Terminal/index.vue +++ b/src/views/settings/Terminal/index.vue @@ -35,7 +35,7 @@ export default { name: 'Basic' }, { - title: this.$t('Terminal'), + title: this.$t('Components'), name: 'TerminalList', hidden: () => !this.$hasPerm('terminal.view_terminal') }, @@ -47,14 +47,14 @@ export default { } }, { - title: this.$t('Endpoint'), + title: this.$t('Endpoints'), name: 'EndpointList', hidden: () => { return !this.$hasPerm('terminal.view_endpoint') } }, { - title: this.$t('EndpointRule'), + title: this.$t('EndpointRules'), name: 'EndpointRuleList', hidden: () => { return !this.$hasPerm('terminal.view_endpointrule')