Element Select 选择器加分页

本文介绍如何在前端应用中实现带有分页功能的模糊搜索下拉菜单,包括使用Element UI组件的具体配置方法,以及后端接口请求的处理过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述
这里是模糊搜索下拉菜单,带上分页功能

<el-select v-model="Stateval"
								   filterable
								   remote
								   size="mini"
								   reserve-keyword
								   placeholder="请输入关键词"
								   :remote-method="remoteMethod"
								   :loading="loading"
								   clearable
								  style="width: 220px;"
								  >
							<el-option v-for="item in dddd"
									   :key="item.value"
									   :label="item.label"
									   :value="item.value">
							</el-option>
							<el-pagination
							       
							       @current-change="handleCurrentChange2"
							       :page-size="3"
							      layout="prev, pager, next"
							       :total="totalnum">
							    </el-pagination>
						</el-select>

data中需要的字段

			loading:false,
			dddd: [],
			states: [],
			list: [],
			totalnum:15,
			queryName:'',
remoteMethod(query) {
			var that = this;
			that.queryName = query
			let params ={
				name:query,
				pageIndex: 1,
				pageSize: 3,
				runState:0,
			}
			//这里是接口请求
			GetCourseByPageAdmin(params).then(res=>{
				console.log(res)
				that.states = res.data.data;
				that.totalnum = res.data.count;
				that.list = that.states.map(item => {
				//这里是改变字段名称,加拼接,不需要的话,只写id和显示的name即可
					return { value: item.id, label: item.name +  '('+item.day+')'  + item.startTime + '-' + item.endTime};
				});
			})
		
			setTimeout(() => {
				if (query !== '') {
					that.loading = true;
					setTimeout(() => {
						that.loading = false;
						that.dddd = that.list.filter(item => {
		
							return item.label.toLowerCase()
								.indexOf(query.toLowerCase()) > -1;
						});
					}, 400);
				} else {
					that.dddd = [];
				}
			}, 100);
		},





//分页方法
handleCurrentChange2(val) {
		       //console.log(`当前页: ${val}`);
			   let that = this
		       this.currentPage=val;
			   let params ={
			   	name:that.queryName,
			   	pageIndex: val,
			   	pageSize: 3,
			   	runState:0,
			   }
			   GetCourseByPageAdmin(params).then(res=>{
				   console.log(res)
				   that.states = res.data.data;
				   that.list = that.states.map(item => {
				   	return { value: item.id, label: item.name +  '('+item.day+')'  + item.startTime + '-' + item.endTime};
				   });
					setTimeout(() => {
						that.dddd = that.list.filter(item => {
					
							return item.label.toLowerCase()
								.indexOf(that.queryName.toLowerCase()) > -1;
						});
					}, 100);  
			   })
		   },

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值