scroll-view中textarea渲染错误
发布于 6 年前 作者 zhangjie 5984 次浏览 来自 官方Issues
  • 当前 Bug 的表现(可附上截图)

因业务需要,仿作一个类似qq的聊天界面,但要实现用户的最后一条输入信息可以直接在气泡上编辑。思路是用户发出信息时新建一个textarea,同时遍历聊天数据的数组将上一个textarea更改为text,这些textarea和text都在一个scroll-view容器中。在微信开发者工具上没有任何问题,在Android手机(魅蓝Note6)上调试时,一些本应变为text的textarea在渲染时没有完全消失。此时在真机调试中的Wxml中看不到这些出问题的节点(即没有多余的textarea)。若在手机上对这些未消失的textarea进行操作,则会被视为对用户发出的最后一个气泡(即此时按预期应该唯一存在的一个textarea)进行了操作。

这是在开发者工具上正常运行的结果

这是在安卓手机上的表现,可以看到第一个红色气泡未出现任何问题,textarea成功变为了text并且对后面聊天数据的渲染不再产生影响。但第二个红色气泡在变化时出现了重影,分别为一个text和一个textarea。此时若我点击第二个红色气泡或第三个红色气泡,系统都会视为我对第三个红色气泡中的textarea进行了操作。另外这两个气泡中的文本并不会同步——比如如果我将第二个红色气泡中的“稍微”修改为“布拉格广场”,那么第三个红色气泡的宽度会由于我写的逻辑宽度变大(包裹住5个字的宽度),但气泡内的文本仍然会是三个字“我陪你”。另外在此时查看真机调试工具中的wxml界面,可以发现此时的wxml中只有一个textarea(即第三个红色气泡),value值为我陪你。

(顺便一提希望可以优化社区发帖的图片上传机制,现在无法直接调节大小以及经常会有图片无法正常显示确实不太方便)

我检查了我的代码,并且它们能够在开发者工具上正常运行,因此感觉可能是因为小程序框架本身的bug。恳请大家帮忙解决!

  • 预期表现

如上面第一张图表示

  • 复现路径
  • 提供一个最简复现 Demo
回到顶部