demo地址:https://ext.dcloud.net.cn/plugin?id=1243
基于HbuilderX 2.6.10 -alpha及更早版本编写的数学公式组件,其所有text组件均能可靠解析'\n'换行符;但升级至HbuilderX 2.6.12 -alpha、HbuilderX 2.6.13 -alpha、HbuilderX 2.6.14 -alpha等各版本后,均不能可靠解析text组件的'\n'换行符:在同一个页面中的多个text组件中,随机出现大部分text组件无法解析'\n'换行符,少部份则能。
复现办法:在插件试市场下载 数学公式组件,先使用HbuilderX 2.6.10 -alpha或更早版本进行编译,结果在APP和H5端均正常显示;再使用HbuilderX 2.6.12 -alpha、HbuilderX 2.6.13 -alpha、HbuilderX 2.6.14 -alpha编译,结果在APP和H5端均混乱显示,'\n'换行符随机解析和不解析。
另一个bug:V3版本的递归组件的JS代码在APP端和H5端出现如下不兼容现象:APP端查找某个组件的第i个v-for子节点,用this.$children[i]即可找到;但在H5端,则必须用this.$children[0].$children[i].从而导致APP端与H5端的代码的不兼容和需要适配。(小程序端尚未测试)
4 个回复
最佳回复
DCloud_UNI_GSQ
HBuilderX 2.6.15 已修复
白羽 (作者) - 个人开发者
进一步核实:首尾的'\n'换行符无法解析,中间的'\n'换行符则能够解析。
DCloud_UNI_GSQ
bug确认,已加分,后续修复
白羽 (作者)
好的。顺带请教几个问题。
1、uniapp在所有版本的HbuilderX下编译的text组件,均无法通过uni.createSelectorQuery().in(this)方式获取其节点边界信息。请问这是设计上的bug,还是官方有意设计成这样的呢?从我本人的设计需求来说,是需要获取的text的节点边界信息的。
2、为了获取到text的节点边界信息,我采用了如下变通方案:
在这种情况下,view容器的边界近似于代表了text的边界,实现了变通。但依然存在两个问题:
综上,我想请教的两个问题是:
1、官方是否可以将text组件设计为可以通过uni.createSelectorQuery().in(this)获取边界信息?
2、假如可以,是否可以将text的边界设计为包裹首尾换行符,或者设计为通过上述<view>变通方案实现时直接包裹首属换行符(而不是必须在首换行符之前,尾换行符之后分别添加零宽字符才能实现包裹首尾换行符)呢?
项目中急需用到上述需求,恳请官方回复哈!uniapp非常强大,解决上述问题后,我就可以完成基于uniapp实现的、运行于移动端的、输入体验媲美PC端WPS文字和MS Word文档的、完善的带数理公式编辑能力的富文本文档编辑器了。最后,祝uniapp蒸蒸日上!
2020-04-22 03:18
DCloud_UNI_GSQ
回复 白羽: 这个问题只存在于H5和App吗?小程序平台是否存在?
2020-04-22 10:39
白羽 (作者)
回复 DCloud_UNI_GSQ: 小程序暂时没有测试。我试试,稍后回复。
2020-04-22 11:18
白羽 (作者)
回复 DCloud_UNI_GSQ: 已实测,在H5、APP和微信小程序下,均复现这个问题。
2020-04-22 14:53
5***@qq.com - Zhi男
你们是猴子派来的吗 app云打包后 怎么多了个<br>
hbuilderx2.5.1就没有
DCloud_UNI_GSQ
你应该是使用的v3编译模式,已确认此处有差异,后续会更新兼容,可以先把代码里标签和文本放到一行,如:<text>示例文本</text>
2020-04-22 19:41
岁月无声
噗!害!
2020-04-27 09:50