From 1e56d7877f91b64921367f0e4842c8d8354ebd2a Mon Sep 17 00:00:00 2001 From: shaohuzhang1 <80892890+shaohuzhang1@users.noreply.github.com> Date: Mon, 30 Dec 2024 17:41:13 +0800 Subject: [PATCH] fix: Form default value display error (#1950) --- ui/src/components/dynamics-form/FormItem.vue | 2 +- .../constructor/items/SliderConstructor.vue | 10 ++++++++++ .../constructor/items/SwitchInputConstructor.vue | 1 + ui/src/components/dynamics-form/index.vue | 3 ++- 4 files changed, 14 insertions(+), 2 deletions(-) diff --git a/ui/src/components/dynamics-form/FormItem.vue b/ui/src/components/dynamics-form/FormItem.vue index 830ee5e07..3062c363a 100644 --- a/ui/src/components/dynamics-form/FormItem.vue +++ b/ui/src/components/dynamics-form/FormItem.vue @@ -128,7 +128,7 @@ const rules = computed(() => { ? props_info.value.rules.map(to_rule) : { message: errMsg.value, - trigger: ['blur', 'change'], + trigger: props.formfield.input_type === 'Slider' ? 'blur' : ['blur', 'change'], required: props.formfield.required === false ? false : true } }) diff --git a/ui/src/components/dynamics-form/constructor/items/SliderConstructor.vue b/ui/src/components/dynamics-form/constructor/items/SliderConstructor.vue index 12c983096..b68d01e0f 100644 --- a/ui/src/components/dynamics-form/constructor/items/SliderConstructor.vue +++ b/ui/src/components/dynamics-form/constructor/items/SliderConstructor.vue @@ -94,6 +94,16 @@ const getData = () => { 'show-input-controls': false, 'show-input': formValue.value.showInput }, + props_info: { + rules: [ + { + message: formValue.value.label + '不能为空', + trigger: 'blur', + required: formValue.value.required + } + ] + }, + show_default_value: true, default_value: formValue.value.default_value } } diff --git a/ui/src/components/dynamics-form/constructor/items/SwitchInputConstructor.vue b/ui/src/components/dynamics-form/constructor/items/SwitchInputConstructor.vue index 92a52a021..afb3030d6 100644 --- a/ui/src/components/dynamics-form/constructor/items/SwitchInputConstructor.vue +++ b/ui/src/components/dynamics-form/constructor/items/SwitchInputConstructor.vue @@ -27,6 +27,7 @@ const formValue = computed({ const getData = () => { return { input_type: 'SwitchInput', + show_default_value: true, attrs: {}, default_value: formValue.value.default_value } diff --git a/ui/src/components/dynamics-form/index.vue b/ui/src/components/dynamics-form/index.vue index 6a26e01c1..ab17bb21e 100644 --- a/ui/src/components/dynamics-form/index.vue +++ b/ui/src/components/dynamics-form/index.vue @@ -181,12 +181,13 @@ const render = ( if (form_data[item.field] !== undefined) { return { [item.field]: form_data[item.field] } } - if (item.show_default_value) { + if (item.show_default_value === true || item.show_default_value === undefined) { return { [item.field]: item.default_value } } return {} }) .reduce((x, y) => ({ ...x, ...y }), {}) + formValue.value = _.cloneDeep(value) } }