From ffeeaa231afa606b682ce7cb60e5e4392c5c9ea3 Mon Sep 17 00:00:00 2001 From: Ryan Wang Date: Mon, 3 Apr 2023 11:48:13 +0800 Subject: [PATCH] fix: radio value type is incorrect in the form defined by formkit schema (#3668) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #### What type of PR is this? /kind bug /area console /milestone 2.5.x /cherry-pick release-2.4 #### What this PR does / why we need it: 修复使用了 FormKit Schema 生成的表单中,Radio 输入类型如果值的类型定义为 boolean 类型,但得到的结果为 string 类型的问题。 #### Which issue(s) this PR fixes: Fixes #3666 #### Special notes for your reviewer: 测试方式: 1. 安装一个主题设置使用了 Radio 输入类型的主题,比如 https://github.com/halo-dev/halo-theme-anatole 2. 测试保存其中包含了 Radio 输入类型的表单。 3. 刷新页面,检查值回显是否正确。 #### Does this PR introduce a user-facing change? ```release-note 修复 Console 端 FormKit Schema 生成的表单中,Radio 输入类型值类型为 boolean 但结果为 string 的问题。 ``` --- .../attachments/components/AttachmentPolicyEditingModal.vue | 4 ++-- console/src/modules/interface/themes/ThemeSetting.vue | 4 ++-- .../interface/themes/components/preview/ThemePreviewModal.vue | 4 ++-- .../src/modules/system/auth-providers/AuthProviderDetail.vue | 4 ++-- console/src/modules/system/plugins/PluginSetting.vue | 3 ++- console/src/modules/system/settings/SystemSetting.vue | 4 ++-- 6 files changed, 12 insertions(+), 11 deletions(-) diff --git a/console/src/modules/contents/attachments/components/AttachmentPolicyEditingModal.vue b/console/src/modules/contents/attachments/components/AttachmentPolicyEditingModal.vue index 891390ba5..309898730 100644 --- a/console/src/modules/contents/attachments/components/AttachmentPolicyEditingModal.vue +++ b/console/src/modules/contents/attachments/components/AttachmentPolicyEditingModal.vue @@ -3,7 +3,7 @@ import { Toast, VButton, VModal, VSpace } from "@halo-dev/components"; import SubmitButton from "@/components/button/SubmitButton.vue"; import type { Policy, PolicyTemplate } from "@halo-dev/api-client"; import cloneDeep from "lodash.clonedeep"; -import { computed, ref, watch, watchEffect } from "vue"; +import { computed, ref, toRaw, watch, watchEffect } from "vue"; import { useSettingForm } from "@/composables/use-setting-form"; import { apiClient } from "@/utils/api-client"; import { @@ -230,7 +230,7 @@ const onVisibleChange = (visible: boolean) => { validation="required|length:0,50" > diff --git a/console/src/modules/interface/themes/ThemeSetting.vue b/console/src/modules/interface/themes/ThemeSetting.vue index 699c3142a..ec773412f 100644 --- a/console/src/modules/interface/themes/ThemeSetting.vue +++ b/console/src/modules/interface/themes/ThemeSetting.vue @@ -1,6 +1,6 @@