From cc202d79f9e76853e19177bb889e4cb7517514ec Mon Sep 17 00:00:00 2001 From: roymondchen Date: Fri, 8 Dec 2023 19:48:10 +0800 Subject: [PATCH] =?UTF-8?q?fix(form):=20cascader=20options=E4=B8=8D?= =?UTF-8?q?=E4=BC=9A=E8=87=AA=E5=8A=A8=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/form/src/fields/Cascader.vue | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/form/src/fields/Cascader.vue b/packages/form/src/fields/Cascader.vue index 46cefc5e..9633400e 100644 --- a/packages/form/src/fields/Cascader.vue +++ b/packages/form/src/fields/Cascader.vue @@ -23,7 +23,7 @@ import { inject, ref, watchEffect } from 'vue'; import { TMagicCascader } from '@tmagic/design'; -import type { CascaderConfig, FieldProps, FormState } from '../schema'; +import type { CascaderConfig, CascaderOption, FieldProps, FormState } from '../schema'; import { getConfig } from '../utils/config'; import { useAddField } from '../utils/useAddField'; @@ -43,7 +43,7 @@ const requestFunc = getConfig('request') as Function; const tMagicCascader = ref>(); -const options = Array.isArray(props.config.options) ? ref(props.config.options) : ref([]); +const options = ref([]); const remoteData = ref(null); const setRemoteOptions = async function () { @@ -86,6 +86,10 @@ if (typeof props.config.options === 'function' && props.model && mForm) { ); } else if (!props.config.options?.length || props.config.remote) { Promise.resolve(setRemoteOptions()); +} else if (Array.isArray(props.config.options)) { + watchEffect(() => { + options.value = props.config.options as CascaderOption[]; + }); } const changeHandler = (value: any) => {