From cbbc4c0d5e53ef01639907f8794dbb789b74e0a7 Mon Sep 17 00:00:00 2001 From: xingyu Date: Mon, 11 Sep 2023 15:09:59 +0800 Subject: [PATCH] fix: tree select --- .vscode/settings.json | 1 + .../Form/src/components/ApiCascader.vue | 18 +++++++++--------- .../Form/src/components/ApiRadioGroup.vue | 5 +++-- .../Form/src/components/ApiSelect.vue | 12 +++++++++--- src/components/Form/src/components/ApiTree.vue | 8 ++++---- .../Form/src/components/ApiTreeSelect.vue | 18 +++++++++--------- src/components/Modal/src/props.ts | 2 +- src/views/system/dept/DeptModal.vue | 5 ++++- 8 files changed, 40 insertions(+), 29 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index adc418f..6f17811 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -121,6 +121,7 @@ "antv", "brotli", "browserslist", + "Cascader", "codemirror", "commitlint", "cropperjs", diff --git a/src/components/Form/src/components/ApiCascader.vue b/src/components/Form/src/components/ApiCascader.vue index e92ef3e..e93cada 100644 --- a/src/components/Form/src/components/ApiCascader.vue +++ b/src/components/Form/src/components/ApiCascader.vue @@ -11,14 +11,12 @@ import { useI18n } from '@/hooks/web/useI18n' defineOptions({ name: 'ApiCascader' }) const props = defineProps({ - value: { - type: Array, - }, + value: propTypes.array.def([]), api: { type: Function as PropType<(arg?: Recordable) => Promise>, default: null, }, - numberToString: propTypes.bool, + numberToString: propTypes.bool.def(false), resultField: propTypes.string.def(''), labelField: propTypes.string.def('label'), valueField: propTypes.string.def('value'), @@ -55,7 +53,7 @@ const apiData = ref([]) const options = ref([]) const loading = ref(false) const emitData = ref([]) -const isFirstLoad = ref(true) +const isFirstLoad = ref(false) const { t } = useI18n() // Embedded in the form, just use the hook binding to perform form verification const [state]: any = useRuleFormItem(props, 'value', 'change', emitData) @@ -150,10 +148,10 @@ watch( () => props.initFetchParams, () => { if (props.alwaysLoad) - !unref(isFirstLoad) && initialFetch() + initialFetch() else - initialFetch() + !unref(isFirstLoad) && initialFetch() }, { deep: true }, ) @@ -175,8 +173,10 @@ function handleRenderDisplay({ labels, selectedOptions }) {