Browse Source

fix: 修复当设置apiselect的immediate为false时,默认赋值后取值不正确传入默认options方案 (#2862)

tawen 1 year ago
parent
commit
7bcdb46148
1 changed files with 3 additions and 1 deletions
  1. 3 1
      src/components/Form/src/components/ApiSelect.vue

+ 3 - 1
src/components/Form/src/components/ApiSelect.vue

@@ -55,6 +55,7 @@
       valueField: propTypes.string.def('value'),
       immediate: propTypes.bool.def(true),
       alwaysLoad: propTypes.bool.def(false),
+      options: propTypes.array.def([]),
     },
     emits: ['options-change', 'change', 'update:value'],
     setup(props, { emit }) {
@@ -71,7 +72,7 @@
       const getOptions = computed(() => {
         const { labelField, valueField, numberToString } = props;
 
-        return unref(options).reduce((prev, next: any) => {
+        let data = unref(options).reduce((prev, next: any) => {
           if (next) {
             const value = get(next, valueField);
             prev.push({
@@ -82,6 +83,7 @@
           }
           return prev;
         }, [] as OptionsItem[]);
+        return data.length > 0 ? data : props.options;
       });
 
       watchEffect(() => {