vue的input事件与点击事件冲突,先失焦点

场景:在开发app时,自己做了个搜索筛选,结果每次输入字符后,想在回显的列表中选数据时遇到了问题,点第一次没反应,得点击第二次才会触发事件。
发现原因:最后打印发现,在第一次点击事件时,只触发了input的blur事件,第二次才会触发点击事件,遂解决问题。
解决:因为input中blur失去焦点事件与点击事件冲突,参考https://huaweicloud.csdn.net/63a003fddacf622b8df90f57.html,将按钮click事件替换为 mousedown 事件,优先于blur事件执行,最终实现了正确效果,感恩!
原代码片段:

<!-- 页面部分 -->
<view>
			<view
				v-for="(item,index) in stationList"
				:key="index"
				:class="item.isChoose?'stationEd':'station'"
				@mousedown="handleStation(item,index)"
			>
				<view>{
   
   {item.stationName.substring(0,18)}}{
   
   {item.stationName.length>18?'...':''}}</view>
				<u-icon v-if="item.isChoose" name="checkmark" size="18" color="#3D6FFF" class="icon"></u-icon>
			</view>
		</view>

猜你喜欢

转载自blog.csdn.net/duruo0/article/details/129716145
今日推荐