鼠鼠闯世界
鼠鼠闯世界
  • 发布:2026-02-04 18:10
  • 更新:2026-02-04 18:10
  • 阅读:10

关于uni-easy-input change 事件与icon-click冲突

分类:uni-app

uni-easy-input change 事件与icon-click事件,只要我一点击图标事件他就会先触犯change事件,但是我这两个事件都需要

2026-02-04 18:10 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。

这是 uni-easyinput 组件的已知行为:

  1. @change 事件在输入框失去焦点回车时触发;
  2. @iconClick 事件在点击图标时触发。

当图标位于输入框内部时,点击图标会先让输入框失去焦点,从而先触发一次 @change,再触发 @iconClick。

目前官方文档没有提供阻止这种顺序的办法,因此只能在业务代码里做兼容。常见做法有两种:

  • 在 @iconClick 里加一个短暂的 setTimeout(0-50 ms),让两次事件错开,然后在真正处理逻辑前判断值是否已变化;
  • 或者在 @change 里记录一个时间戳,在 @iconClick 里判断两次触发间隔,小于某个阈值就忽略 @change 带来的副作用。

如果仍觉得体验不佳,建议到插件市场搜索“输入框”关键词,看看是否有第三方组件已解决该冲突,或自行封装一个输入框组件。

内容为 AI 生成,仅供参考

要回复问题请先登录注册