当前位置: 首页 > article >正文

el-select实现可复制一段“关键词“(多个)实现搜索 以及 回车选中搜索项

el-select实现可复制一段"关键词"(多个)实现搜索 以及 回车选中搜索项

<el-select
	ref="productRef"
	filterable
	clearable
	v-model="fItem.productName"
	multiple
	:reserve-keyword="true"
	remote
	:filter-method="remoteMethod"
	@visible-change="visibleChange"
	@keyup.enter="handleEnterKey(fIndex)"
>
	<el-option
		v-for="(item3, index3) in portFullNameOpt"
		:key="index3"
		:label="(item3.productCode ? '(' + item3.productCode + ')' : '') + item3.productName"
		:value="item3.productId"
	></el-option>
</el-select>

添加remote属性,用filter-method实现自定义搜索方法

// 多搜索
function remoteMethod(query: any) {
	if (query !== '') {
	// 当前场景query是以空格分开的关键词,比如"001  002",所以处理成数组形式
		state.keyUpData = query.split(' ');
		// 接口过滤
		selectAllProductInfo({ productName: query }).then((res: any) => {
			state.portFullNameOpt = res.data;
		});
	} else {
		state.portFullNameOpt = state.pordOriginalOpt;
	}
}
// 下拉框消失时,恢复默认选项
function visibleChange(data: any) {
	if (!data) {
		state.portFullNameOpt = state.pordOriginalOpt;
	}
}
// 回车自动选中搜索过滤出来的选项
function handleEnterKey(fIndex: number) {
	if (state.keyUpData.length) {
	// 场景:复制搜索的是关键词,但是绑定的是productId,所以处理一下
		const queryProductId = state.portFullNameOpt.filter((item1: { productCode: any }) => state.keyUpData.includes(item1.productCode)).map((item2: { productId: any }) => item2.productId);
		// console.log(queryProductId, 'att');
		state.newAgencySalesList.forEach((item: any, index: number) => {
			if (fIndex == index) {
				item.productName = queryProductId;
			}
		});
	}
}

http://www.kler.cn/a/153813.html

相关文章:

  • 【CSS问题】margin塌陷
  • ISUP协议视频平台EasyCVR私有化部署视频平台如何实现RTMP推流将大疆无人机的视频画面回传?
  • 每日一练:【动态规划算法】斐波那契数列模型之第 N 个泰波那契数(easy)
  • 如何创建一个项目用于研究element-plus的原理
  • 量化交易系统开发-实时行情自动化交易-4.1.3.A股平均趋向指数(ADX)实现
  • Linux的目录结构
  • 使用dirmap命令行时报错,提示缺少gevent模块
  • LinkedList详解
  • 自己动手实现一个深度学习算法——七、卷积神经网络
  • string的模拟
  • 服务号可以升级订阅号吗
  • VR 实现 Splash Screen 效果
  • 通付盾Web3专题 | SharkTeam:起底朝鲜APT组织Lazarus Group,攻击手法及洗钱模式
  • MYSQL 连接的使用
  • 【前端】利用正则生成目录,附加解决a链接锚点偏移
  • Nacos多数据源插件
  • 【华为OD题库-056】矩阵元素的边界值-java
  • Python知识碎片补充【侯小啾python领航班系列(十四)】
  • Redis SDS 源码
  • 深信服AD负载均衡频繁掉线故障分析
  • ansible模块
  • 【Python】 Python 中如何实现图片合并及生成长图片文件?
  • SpringBoot本地判定判定工作日节假日及工作时段解决方案
  • Docker下搭建MySQL主从复制
  • 【2024秋招】2023-9-22 金山云文档服务端开发一面
  • 【spring(六)】WebSocket网络传输协议