不使用页面刷新下拉菜单选择选项值以获取数据表单API vue3

2vuwiymt  于 2022-12-23  发布在  Vue.js
关注(0)|答案(1)|浏览(111)

在这里,服务文件夹中的axios API选择下拉列表值以设置localstorage(id),然后获取api响应数据。但我的问题只是页面刷新以获取data.how,而没有页面刷新以获取数据
@change=“onChange”更改下拉列表值以在本地存储中设置id。然后获取id到数据,其工作正常。但下拉列表选择值仅显示页面刷新

const dropdownItems = ref(items);
const dropdownItem = ref(null);

onMounted(() => {    
  ApiService.getStores().then((data) => {
    data.forEach((value) => {
      items.push({ name: value.shop,value:value.id });
    });
  });
});

const onChange = event => {
  localStorage.setItem('id',event.value);
}

<Dropdown
  id="state"
  v-model="dropdownItem"
  :options="dropdownItems"
  :filter="true"
  optionLabel="name"
  optionValue="value"
  @change="onChange"
/>

api.service.js

const id = localStorage.getItem('id');
axios.get(API_URL+'/product/all?id='+id)

如何触发api.service.js

xfb7svmp

xfb7svmp1#

尝试将dropdownItems设为返回items的计算值。
const dropdownItems = computed(() => items)
这将确保当items改变时,变量dropdownItems被重新计算。

相关问题