收藏
回答

关于输入框的问题,已经问了好几遍。能不能回答我下?谢谢

问题模块 框架类型 问题类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本
API和组件 小程序 Bug textarea 客户端 6.6.7 2.0.9

小程序里面要实现聊天的功能,目前遇到的一个问题。

1、点击输入框后,页面往上移动了,最新聊天的文字被覆盖。尤其是刚开始创建对话


2、textarea获得焦点后移动小键盘上方过程缓慢与input表现不一致,不能与微信一样同步弹出。肉眼看上去明显,体验糟糕





最后一次编辑于  2018-06-05  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

8 个回答

  • 〆、维生素ゝ
    〆、维生素ゝ
    2018-06-05

    第一个问题:我的思路是每次输入框聚焦的时候,获取键盘的高度,再动态的改变下上边聊天框口的高度,input失焦的时候收起,再把聊天窗口的高度变回来(没有做过这类问题,所以也不知道难不难实现,希望对你有帮助吧);

    第二个问题我现在没有好的解决方案,帮不到你了。

    2018-06-05
    赞同
    回复 4
    • 赵丹丹
      赵丹丹
      2018-06-05

      你在分析已经很赞了

      2018-06-05
      1
      回复
    • Nocturne
      Nocturne
      2018-06-07回复赵丹丹

      请教一下怎么获取键盘高度?

      2018-06-07
      回复
    • 冰糖雪梨
      冰糖雪梨
      2018-06-07回复Nocturne

      我也没找着获取键盘高度的方法

      2018-06-07
      回复
    • ( ・ิϖ・ิ)っ
      ( ・ิϖ・ิ)っ
      2018-06-07回复Nocturne

      bindfocus 输入框聚焦时触发,event.detail = { value, height },height 为键盘高度,在基础库 1.9.90 起支持

      2018-06-07
      回复
  • 安颜如夏
    安颜如夏
    2018-06-05

    我觉得应该动态的判断,小键盘的高度,然后设置相应的滚动高度吧

    2018-06-05
    赞同
    回复 3
    • 赵丹丹
      赵丹丹
      2018-06-05

      sure?用了“吧”

      2018-06-05
      回复
    • Nocturne
      Nocturne
      2018-06-07回复赵丹丹

      请教一下怎么获取键盘高度?

      2018-06-07
      回复
    • leesson
      leesson
      2018-06-07回复Nocturne

      bindfocus  输入框聚焦时触发,event.detail = { value, height },height 为键盘高度,在基础库 1.9.90 起支持 文档上有

      2018-06-07
      回复
  • 赵丹丹
    赵丹丹
    2018-06-05

    你说的第一个方法,我们试了下,体验极差

    2018-06-05
    赞同
    回复
  • 易先生
    易先生
    2018-06-05

    我也正在做一个IM小程序,可以加微信交流下

    2018-06-05
    赞同
    回复
  • WGinit
    WGinit
    2018-06-07

    textarea 定位微信官方好像是有bug的,之前哪里看到过

    2018-06-07
    赞同
    回复 2
    • 赵丹丹
      赵丹丹
      2018-06-10

      能找到吗、

      2018-06-10
      回复
    • WGinit
      WGinit
      2018-06-11回复赵丹丹


      2018-06-11
      回复
  • kona
    kona
    2018-06-07

    关注

    2018-06-07
    赞同
    回复 1
    • 赵丹丹
      赵丹丹
      2018-06-10

      我们目前把输入框放顶部了

      2018-06-10
      回复
  • Leo
    Leo
    2018-07-06

    针对第一个问题:


    1. 使用scroll-view包住聊天内容,然后在创建会话时用scroll-into-view定位到最后一个聊天,顺便加一个scroll-with-animation可以让滚动过程更顺滑;

    2. 数据框聚焦使用bindfocus,获取最后一条聊天数据ID后重新赋值给scroll-into-view,也可以在聊天内容末尾自行添加一个包含ID的view,随时用于滚动定位。

    2018-07-06
    赞同
    回复 1
    • 赵丹丹
      赵丹丹
      2018-07-06

      谢谢回复。我们现在索性把聊天框放到了顶部。采用多行的。就解决了那2个问题。同时遇到了一个新问题。新问题是:无法自动获取焦点,需要点击时才能获取。求教

      2018-07-06
      回复
  • 化身孤岛的鲸
    化身孤岛的鲸
    2018-10-09

    textarea获得焦点后移动小键盘上方过程缓慢与input表现不一致,不能与微信一样同步弹出  


    这个 问题依然存在 有解决的方案么  

    2018-10-09
    赞同
    回复