情况一,字段范例不匹配
考虑option的value值的字段范例是否和api返回的字段范例一致,如果一个为字符串一个为数字范例是无法匹配上的
- <template>
- <div>
- <el-select
- v-model="value"
- size="large"
- style="width: 240px">
- <el-option
- v-for="item in options"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- />
- </el-select >
- </div>
- </template>
- <script setup>
- import { ref, reactive, onMounted } from 'vue'
- import axios from 'axios';
- const options = [
- {
- value: 'Option1',
- label: '1',
- },
- {
- value: 'Option2',
- label: '2',
- },
- ]
- const value = ref("")
- const apiFun = async()=>{
- //接口返回的data结构
- /*
- {
- selectValue:1
- }
- */
- const data = await axios.get("****url****")
- //解决方法,转成同样类型
- value.value =data.selectValue.toString()
- }
- </script>
复制代码 情况二,响应式失效
字段范例能对上,但是响应式失效了,这个时间要使用key逼迫刷新组件
- <template>
- <div>
- <el-select
- v-model="value"
- size="large"
- :key="index"
- style="width: 240px">
- <el-option
- v-for="item in options"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- />
- </el-select >
- </div>
- </template>
- <script setup>
- import { ref, reactive, onMounted } from 'vue'
- import axios from 'axios';
- const options = [
- {
- value: 'Option1',
- label: '1',
- },
- {
- value: 'Option2',
- label: '2',
- },
- ]
- const value = ref("")
- const index = ref(0)
- const apiFun = async()=>{
- //接口返回的data结构
- /*
- {
- selectValue:"2"
- }
- */
- const data = await axios.get("****url****")
- value.value =data.selectValue
- //解决方法,强制刷新组件
- index +=1
- }
- </script>
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |