a-select懒加载+远程搜索

基础知识

在这里插入图片描述

  • scrollHeght:元素的实际高度(高度包含内边距(padding),不包含外边距(margin)、边框(border),是一个整数)
  • scrollTop:元素被卷去的高度
  • clientHeight: 元素的可见高度(高度包含内边距(padding),不包含外边距(margin)、边框(border),是一个整数,单位是像素 px)

当滚动条滚到底: scrollHeght - scrollTop == clientHeight

应用

<a-select
    ref="select"
    v-model="searchValue"
	show-search
	style="width: 320px"
	:filter-option="false"
	@popupScroll="handlePopupScroll"
	@search="onTextChange"
>
	<a-select-option v-for="(item, index) in options" :key="index" :value="item.id">
	</a-select-option>
<a-select>


methods: {
    // 获取下拉数据: tableParams分页参数: page: 1, limit: 10. searchValue: 查询参数
    fetch () {
    	getData ({... this.tableParams, searchValue: this.searchValue}).then((res) => {
    		this.options.push(...res.data);
    	})
    }
	// 远程搜索,如果配置了filter-option为true则为本地搜索,本地搜索则在已经加载的options里进行筛选
	onTextChange () {
		this.tableParams.page = 1;
		this.fetch()
	},
	handlePopupScroll (e) {
		const { scrollHeght, scrollTop ,   clientHeight} = e.target;
		if (scrollHeght - scrollTop == clientHeight) {
			this.tableParams.page = this.tableParams.page + 1;
			this.fetch() 
		}
	},
}
  • 11
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
el-select 组件在 Vue.js 中是一个下拉选择器组件,而 "" 是一种优化技术,用于在需要时再数据,以减少初始时间和资源消耗。 如果你想要实现 el-select 组件的,你可以使用其提供的远程搜索功能。该功能允许你在用户输入时动态选项。 以下是一个简单的示例代码,演示了如何使用 el-select 的功能: ```vue <template> <el-select v-model="selectedOption" filterable remote :remote-method="loadOptions" > <el-option v-for="option in options" :key="option.value" :label="option.label" :value="option.value" ></el-option> </el-select> </template> <script> export default { data() { return { selectedOption: '', options: [] }; }, methods: { loadOptions(query) { // 在这里根据输入的 query 远程数据 // 例如使用 axios 发起异步请求获取数据 axios.get('/api/options', { params: { query } }) .then(response => { this.options = response.data; }) .catch(error => { console.error(error); }); } } }; </script> ``` 在上面的代码中: - `v-model` 绑定了选中的选项的值; - `filterable` 启用了可搜索功能,允许用户输入查询条件; - `remote` 启用了远程搜索功能; - `remote-method` 指定了一个方法名,用于在用户输入时触发选项的远程数据。 你需要替换示例代码中的 `/api/options` 为实际的后端接口地址,以便获取远程数据。这个接口应该根据输入的查询条件返回相应的选项数据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值