vue3+ts点击下拉框调用接口
时间: 2023-11-01 13:06:42 浏览: 123
简单的vue三级联动下拉框代码
3星 · 编辑精心推荐
首先,你需要创建一个下拉框组件,可以使用`<select>`标签或者其他UI库中提供的下拉框组件。然后在组件中,你需要定义一个选项列表,可以使用Vue的响应式数据来定义:
```typescript
// OptionItem.ts
export interface OptionItem {
label: string;
value: string;
}
// YourComponent.vue
<template>
<select v-model="selectedValue">
<option v-for="option in options" :value="option.value">{{ option.label }}</option>
</select>
</template>
<script lang="ts">
import { defineComponent, reactive } from 'vue';
import { OptionItem } from './OptionItem';
export default defineComponent({
name: 'YourComponent',
setup() {
const state = reactive({
options: [] as OptionItem[],
selectedValue: '',
});
// 调用接口获取选项列表
const fetchOptions = async () => {
const response = await fetch('your-api-url');
const data = await response.json();
state.options = data.options;
};
fetchOptions();
return {
options: state.options,
selectedValue: state.selectedValue,
};
},
});
</script>
```
在`setup`函数中,我们定义了一个响应式的状态对象`state`,其中包括选项列表`options`和当前选中的值`selectedValue`。在组件渲染时,我们使用`v-for`指令遍历选项列表并渲染每一个选项。
接着,我们在组件的`setup`函数中调用接口获取选项列表,并将获取到的数据更新到状态对象中。你需要根据你的实际情况,修改`fetchOptions`函数中的接口地址和返回数据结构。
最后,我们将`options`和`selectedValue`暴露出去,以便其他组件可以访问和使用它们。
阅读全文