Commit 7bcdb461487e937084f58f4fc364afc94f237dbd
Committed by
GitHub
1 parent
d33ccd04
fix: 修复当设置apiselect的immediate为false时,默认赋值后取值不正确传入默认options方案 (#2862)
Showing
1 changed file
with
3 additions
and
1 deletions
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(() => { |