收藏
回答

submit先于自定义组件里textarea的blur触发,且无法取到其中的值

问题模块 框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 小程序 Bug textarea form 客户端 7.03.1400 2.6.1

- 当前 Bug 的表现(可附上截图)

在input和textarea输入时,如果点击submit提交按钮,先是触发submit其次才是blur(不知道这个算不算是bug),然后form的submit事件中获取不到textarea的最新值

- 预期表现

先触发blur再触发submit,且能获取到textarea里的值

- 复现路径

https://developers.weixin.qq.com/s/zmxyFrmw7Q6G

- 提供一个最简复现 Demo

https://developers.weixin.qq.com/s/zmxyFrmw7Q6G

最后一次编辑于  02-25  (未经腾讯允许,不得转载)
回答关注问题邀请回答
收藏

1 个回答

  • &|!🤗
    &|!🤗
    02-25

    来个官方的人回答一下啊@官方人员

    02-25
    赞同
    回复 11
    • 希望熊🐻
      希望熊🐻
      04-03

      兄弟,你在自定义组件里面的textarea的onInput 里面 去setData({

      value:res.detail.value

      })

      然后你在外面的form的submit的回调里面 就可以拿到值了。

      别问我咋知道的,不然我该打人了……

      04-03
      回复
    • &|!🤗
      &|!🤗
      04-04回复希望熊🐻

      这种做法不是我想要的,这样做了还用啥form和


      wx://form-field

      ,form submit时获取form下边表单组件最新的值这就是他的功能

      04-04
      回复
    • 希望熊🐻
      希望熊🐻
      04-04回复&|!🤗

      官方文档有声明,页面的blur事件晚于 所有的tap事件。   submit我个人觉得也是tap事件。 还有你是什么需求会需要先触发blur再触发submit?  问题的关键你不是想要获取文本框的内容嘛?

      04-04
      回复
    • &|!🤗
      &|!🤗
      04-04回复希望熊🐻

      你没看清楚我的问题,我问了两个,第一个就是你知道的tap先于blur触发,这个我也知道可能不是个问题,不过还是谢谢你能告知官方文档中有提及。

      第二个才是我想提的bug,form表单在通过submit button触发submit事件时,在自定义组件里的表单组件textarea返回的不是最新的值。这个有官方人员确认过,说是个已知bug。

      04-04
      回复
    • 希望熊🐻
      希望熊🐻
      04-04回复&|!🤗

      嗯 我想解决的也是第二个问题。自定义组件里面的textarea 返回最新的值,你需要绑定onInput,然后手动赋值setData,我之前也是有这个需求,手测可以的

      04-04
      回复
    查看更多(6)