vue3 elementUI select 下拉加载更多
在Vue 3和Element UI中,可以使用el-select
组件结合infinite-scroll
(无限滚动)特性来实现下拉加载更多的功能。以下是一个简单的示例:
<template>
<el-select
v-model="selectedValue"
placeholder="请选择"
infinite-scroll
@load-more="loadMore"
>
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
</template>
<script setup>
import { ref } from 'vue';
const selectedValue = ref(null);
const options = ref([
{ label: '选项1', value: '1' },
{ label: '选项2', value: '2' },
// ...更多选项
]);
const loadMore = () => {
// 模拟加载更多数据
const moreOptions = [
{ label: '选项' + (options.value.length + 1), value: options.value.length + 1 + '' },
// ...更多选项
];
options.value.push(...moreOptions);
};
// 初始化时加载一些数据
loadMore();
</script>
在这个例子中,el-select
开启了infinite-scroll
特性,当下拉到底部时会触发@load-more
事件,然后在loadMore
方法中模拟加载更多数据。实际应用中,你需要将模拟的数据加载逻辑替换为实际从服务器获取数据的逻辑。
评论已关闭