Commit 7bcdb461487e937084f58f4fc364afc94f237dbd

Authored by tawen
Committed by GitHub
1 parent d33ccd04

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

src/components/Form/src/components/ApiSelect.vue
@@ -55,6 +55,7 @@ @@ -55,6 +55,7 @@
55 valueField: propTypes.string.def('value'), 55 valueField: propTypes.string.def('value'),
56 immediate: propTypes.bool.def(true), 56 immediate: propTypes.bool.def(true),
57 alwaysLoad: propTypes.bool.def(false), 57 alwaysLoad: propTypes.bool.def(false),
  58 + options: propTypes.array.def([]),
58 }, 59 },
59 emits: ['options-change', 'change', 'update:value'], 60 emits: ['options-change', 'change', 'update:value'],
60 setup(props, { emit }) { 61 setup(props, { emit }) {
@@ -71,7 +72,7 @@ @@ -71,7 +72,7 @@
71 const getOptions = computed(() => { 72 const getOptions = computed(() => {
72 const { labelField, valueField, numberToString } = props; 73 const { labelField, valueField, numberToString } = props;
73 74
74 - return unref(options).reduce((prev, next: any) => { 75 + let data = unref(options).reduce((prev, next: any) => {
75 if (next) { 76 if (next) {
76 const value = get(next, valueField); 77 const value = get(next, valueField);
77 prev.push({ 78 prev.push({
@@ -82,6 +83,7 @@ @@ -82,6 +83,7 @@
82 } 83 }
83 return prev; 84 return prev;
84 }, [] as OptionsItem[]); 85 }, [] as OptionsItem[]);
  86 + return data.length > 0 ? data : props.options;
85 }); 87 });
86 88
87 watchEffect(() => { 89 watchEffect(() => {