收藏
回答

input 组件中 bindinput 方法和页面中的方法同名时,会导致页面中同名方法触发时机有问题

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug input 组件 微信安卓客户端 7.0.10 2.10.4

问题描述:

input 组件中的 bindinput 方法如果和页面中的方法同名的话,则在对 input 的 value 进行赋值时,页面中的同名方法会被触发。具体可查看 demo 代码

预期:

对 input 的 value 赋值时,不会触发 input 组件 bindinput 方法(目前是这样没问题),更不会触发 index/xx 页面中和 input 组件 bindinpunt 方法同名的方法(这里有问题)

目前仅以下指定安卓机可复现,ios 和开发者工具都没问题。

复现机型:

smartisan os v6.1.4,安卓版本 7.1.1

复现流程:

  1. 点击【赋值搜索按钮】此时 input 输入框内的值为被赋为“搜索”,然后【清空赋值】,此处“搜索”被清空
  2. 点击输入框内,使得 input 聚焦,然后再次点击【赋值搜索按钮】,会发现输入框内无“搜索”字样,(因为触发了页面中的同名方法)
  3. 将 index/xx 中的 searchInputChangeHandler (和 input 组件的 bindinput 方法同名)换成任意的其它名称,使其名称和 input 的 bindinput 方法名不一致
  4. 再重复上述 1,2 操作,就不会再出现 2 所述问题了
最后一次编辑于  2020-05-12
回答关注问题邀请回答
收藏

2 个回答

  • 社区技术运营专员-小柿子
    社区技术运营专员-小柿子
    2020-05-12

    更新下微信版本再试下么?

    2020-05-12
    有用
    回复 2
    • 🌱
      🌱
      2020-05-14
      你圈出来的是安卓版本,但是文本里提到是微信版本,我不知道你具体指哪个,麻烦解答一下,谢谢 ~
      2020-05-14
      回复
    • 社区技术运营专员-小柿子
      社区技术运营专员-小柿子
      2020-05-17回复🌱
      微信客户端版本升级到最新的试下呢?
      2020-05-17
      回复
  •  
     
    2020-05-12

    额...你的代码片段好像导入不了,提示 id 不存在

    2020-05-12
    有用
    回复 3
    • 🌱
      🌱
      2020-05-12
      不好意思刚才贴成 appid 了,我重新贴了一下,https://developers.weixin.qq.com/s/fc7eTimj70hl
      2020-05-12
      回复
    •  
       
      2020-05-12回复🌱
      测试了下好像并没有问题
      2020-05-12
      回复
    • 🌱
      🌱
      2020-05-12回复 
      你用的指定手机型号测试的吗?我是稳定复现的
      2020-05-12
      回复
登录 后发表内容
问题标签