基础库里面有个规则:如果 touchstart 被 catch (无论在哪一层),则对应的 tap 事件不会触发。 想知道你具体的场景是什么样呢?
外层使用catchtouchstart影响内层tap事件响应bug表现: 如题,如果我在外层的view catch了touchstart那么内层的tap事件会不响应。不知道这个是不是bug。 - 预期表现 内层tap事件正常响应。如果不能正常响应那么就会有一个在我看来很严重的问题,首先假定现在有三层,内层、外层、最外层(也是在代码片段里简单演示了),如果我最外层里面有touch的逻辑,同时不希望点击在内层的时候响应,应该怎么办。如果在外层catch那内层的tap不能用,如果不catch那就达不到要求。 - 复现路径 点击代码片段中的外层可捕捉到touch事件,点击内层无法响应tap事件 - 提供一个最简复现 Demo 已附代码片段
2019-06-21感谢反馈。 已经查清楚是个什么 bug 了。大体上是这样:如果在尝试修改 key 对应值,目前基础库会尝试修改列表中 item 的顺序,而不会尝试比对除 key 以外的其他 item 内容,也就导致 item 顺序变了但是 data-x 没有正确调整。 我们会尝试修复这个 bug ,但是看起来不太好修复,短期内这个问题还会存在。 在你的场景中,可以尝试这样做:修改 key 对应值的时候,使用 setData 设置整个 item (而不是仅设置 key 对应值),如: this.setData({ 'list[0].key': 'xxx' }) 改为: this.setData({ 'list[0]': { key: 'xxx', data: this.list[0].data } })
按路径更新的方式 setData,导致带 key 的列表渲染出错- 当前 Bug 的表现(可附上截图) 第一次点击按钮,list 渲染正常。dom 结构为: [图片] 第二次点击按钮,list 渲染错误。dom 结构为: [图片] - 预期表现 第二次点击按钮后,data-x 的值应该从上往下分别为 0~6,但此时却仍然是第一次渲染 list 时的 data-x。 证明这种情况下,按路径的方式 setData 时,列表属性值没有更新。 - 复现路径 1. 点击一次按钮,观察列表的 dom。 2. 第二次点击按钮,再观察列表 dom 的 data-x。 - 提供一个最简复现 Demo index.js [代码]Component({[代码] [代码] [代码][代码]data: {[代码] [代码] [代码][代码]list: [],[代码] [代码] [代码][代码]i: 0[代码] [代码] [代码][代码]},[代码] [代码] [代码][代码]methods: {[代码] [代码] [代码][代码]onButtonClick() {[代码] [代码] [代码][代码]if[代码] [代码]([代码][代码]this[代码][代码].data.i === 0) {[代码] [代码] [代码][代码]this[代码][代码].setData({[代码] [代码] [代码][代码]'list[0]'[代码][代码]: { idx:[代码][代码]"0"[代码][代码], str:[代码][代码]"back off"[代码] [代码]},[代码] [代码] [代码][代码]'list[1]'[代码][代码]: { idx:[代码][代码]"1"[代码][代码], str:[代码][代码]"now"[代码] [代码]},[代码] [代码] [代码][代码]'list[2]'[代码][代码]: { idx:[代码][代码]"2"[代码][代码], str:[代码][代码]"point"[代码] [代码]},[代码] [代码] [代码][代码]'list[3]'[代码][代码]: { idx:[代码][代码]"3"[代码][代码], str:[代码][代码]"simple"[代码] [代码]},[代码] [代码] [代码][代码]'list[4]'[代码][代码]: { idx:[代码][代码]"4"[代码][代码], str:[代码][代码]"total"[代码] [代码]},[代码] [代码] [代码][代码]'list[5]'[代码][代码]: { idx:[代码][代码]"5"[代码][代码], str:[代码][代码]"pity"[代码] [代码]},[代码] [代码] [代码][代码]'list[6]'[代码][代码]: { idx:[代码][代码]"6"[代码][代码], str:[代码][代码]"name"[代码] [代码]},[代码] [代码] [代码][代码]i: 1[代码] [代码] [代码][代码]})[代码] [代码] [代码][代码]}[代码][代码]else[代码] [代码]if[代码] [代码]([代码][代码]this[代码][代码].data.i === 1) {[代码] [代码] [代码][代码]this[代码][代码].setData({[代码] [代码] [代码][代码]'list[0].str'[代码][代码]:[代码][代码]"point"[代码][代码],[代码] [代码] [代码][代码]'list[1].str'[代码][代码]:[代码][代码]"back off"[代码][代码],[代码] [代码] [代码][代码]'list[2].str'[代码][代码]:[代码][代码]"simple"[代码][代码],[代码] [代码] [代码][代码]'list[3].str'[代码][代码]:[代码][代码]"pity"[代码][代码],[代码] [代码] [代码][代码]'list[4].str'[代码][代码]:[代码][代码]"name"[代码][代码],[代码] [代码] [代码][代码]'list[5].str'[代码][代码]:[代码][代码]"total"[代码][代码],[代码] [代码] [代码][代码]'list[6].str'[代码][代码]:[代码][代码]"now"[代码][代码],[代码] [代码] [代码][代码]i: 2[代码] [代码] [代码][代码]})[代码] [代码] [代码][代码]}[代码] [代码] [代码][代码]},[代码] [代码] [代码][代码]anonymousFunc0(e) {[代码] [代码] [代码][代码]console.log([代码][代码]'e: '[代码][代码], e.target.dataset.x)[代码] [代码] [代码][代码]}[代码] [代码] [代码][代码]}[代码] [代码]})[代码] index.wxml [代码]<[代码][代码]block[代码][代码]>[代码] [代码] [代码][代码]<[代码][代码]view[代码][代码]>[代码] [代码] [代码][代码]<[代码][代码]button[代码] [代码]bindtap[代码][代码]=[代码][代码]"onButtonClick"[代码][代码]>Generate random items</[代码][代码]button[代码][代码]>[代码] [代码] [代码][代码]<[代码][代码]view[代码] [代码]wx:key[代码][代码]=[代码][代码]"str"[代码] [代码]bindtap[代码][代码]=[代码][代码]"anonymousFunc0"[代码] [代码]wx:for[代码][代码]=[代码][代码]"{{list}}"[代码] [代码]data-x[代码][代码]=[代码][代码]"{{item.idx}}"[代码][代码]>{{item.str}}</[代码][代码]view[代码][代码]>[代码] [代码] [代码][代码]</[代码][代码]view[代码][代码]>[代码] [代码]</[代码][代码]block[代码][代码]>[代码]
2019-06-21这个是一个基础库内部量。 2.7.2 之后实现变更,这个量被移除了。
open-data 获取用户昵称- 当前 Bug 的表现(可附上截图) [图片] undefined is not an object (evaluating 'e._relatedInfo.anchorTargetText') - 预期表现 - 复现路径 2.7.2基础库 点击 open-data 通过事件方式 e._relatedInfo.anchorTargetText 获取值拿不到值 Phone手机出现过, - 提供一个最简复现 Demo <view bindtap='submit'> <open-data id="name" type="userNickName" lang="zh_CN" ></open-data> </view>
2019-06-18感谢反馈。 经调查原因如下:getuserinfo 事件发生时间晚于点击事件,如果在点击事件中尝试使用 setData 结合 wx:if 或 wx:for 来移除一些绑定了 getuserinfo 事件的 button 组件,在 2.7.2 的全部场景(以及以前基础库的部分场景)下,这些 getuserinfo 事件不会被触发。 我们会马上进行兼容性修复。
button的bindgetuserinfo失效<button class="login-confirm-sure-btn" hover-class="none" open-type="getUserInfo" bindgetuserinfo="bindGetUserInfo">立即登录</button> 点击按钮之后,弹出用户授权框,点了允许授权后,bindGetUserInfo方法不调用,出现在部分手机上,目前用小米8测试必现
2019-06-18感谢反馈。我们紧急修复。
列表渲染字符串、字符串又有更新的情况下,会重复生成节点列表渲染字符串、字符串又有更新的情况下,会重复生成节点,与官方文档不一致,现在只能把字符串转成数组再传入 注意: 当 [代码]wx:for[代码] 的值为字符串时,会将字符串解析成字符串数组 [代码]<view wx:for="array"> {{item}}</view>[代码]等同于 [代码]<view wx:for="{{['a','r','r','a','y']}}"> {{item}}</view>[代码]
2019-06-13你们的小程序需要登录,在登录页没有看到异常。在我们后台也没有检索到“BD工作台”小程序的错误上报。麻烦给一种可以看到问题的方式。
小程序基础库问题- 当前 Bug 的表现(可附上截图) 基础库显示2.7.2的时候各种问题 - 预期表现 - 复现路径 - 提供一个最简复现 Demo [图片] 开发的时候打开手机调试发现基础库是2.7.2 然后小程序就有问题,有的手机基础库是2.7.1就没问题,这个基础库版本能自己控制吗?
2019-06-13relations 的 type 可选值有四个: parent / child / ancestor / descendant 。前两个表示父子节点关系;后两个表示祖先后代节点关系。你的情况选后两个就可以了。
组件间关系 relations的一些疑惑两个自定义组件产生关联必须要像下面的结构吗 [代码]<custom-ul> <custom-li> item 1 </custom-li>[代码][代码] <custom-li> item 2 </custom-li>[代码] [代码]</custom-ul>[代码] 像简单的单选框/多选框采用这样的结构没什么问题,但有时候会出现子组件作为另外一个组件的slot。这个时候结构就变了 [图片] [代码]<custom-ul>[代码] [代码] <other-com>[代码] [代码] <custom-li> item 1 </custom-li>[代码] </other-com> <other-com> <custom-li> item 2 </custom-li> </other-com> [代码]</custom-ul>[代码] 这样的结构是relations无法生效的。是不是这种设计组件的思想不对。请指正。 还是应该将结构改成这样 [代码]<custom-ul>[代码][代码] <custom-li>[代码] [代码] <other-com></other-com>[代码] [代码] </custom-li>[代码] [代码] <custom-li>[代码] [代码] <other-com></other-com>[代码] [代码] </custom-li>[代码] [代码]</custom-ul>[代码]
2019-06-11请问你的账号是个人号吗?
插件未初始化:plugin not init- 上传插件报错,提示未初始化.查阅文档,要先在小程序管理后台进行初始化,可参考文档找不出所谓的管理界面 [图片] https://developers.weixin.qq.com/miniprogram/introduction/plugin.html#%E6%8F%92%E4%BB%B6%E5%BC%80%E5%8F%91%E6%8E%A5%E5%85%A5%E6%B5%81%E7%A8%8B 官网给出的后台界面: [图片] 我的管理后台: [图片]未找见小程序插件
2019-06-10可参考:https://developers.weixin.qq.com/miniprogram/dev/framework/plugin/development.html 的《预览、上传和发布》一节。 在手机上预览的时候,因为套用插件的小程序并非插件所有者小程序,所以需要另行设置域名列表。
微信小程序插件reque:fail url not in domain list- 当前 Bug 的表现(可附上截图) request域名都配置了,但是在手机上面还是验证不通过, 如果打开调试模式就验证通过 {"errMsg":"request:fail url not in domain list"} [图片] - 预期表现 - 复现路径 [图片] [图片] - 提供一个最简复现 Demo 代码片段:https://developers.weixin.qq.com/s/tX3KWUmU7D8b 同类问题: https://developers.weixin.qq.com/community/develop/doc/00024c2c6f8530a3fed6bc00552800?highLine=%25E6%258F%2592%25E4%25BB%25B6%2520fail%2520url%2520not%2520in%2520domain%2520list https://developers.weixin.qq.com/community/develop/doc/0008e8292b0e70d71be64ebc356800?highLine=%25E6%258F%2592%25E4%25BB%25B6%2520fail%2520url%2520not%2520in%2520domain%2520list
2019-06-06即使只修改其中一项,时间开销还是和页面或自定义组件中的总节点数量相关的。如果 500 项中每一项都很大的话,确实也会很慢。 不过慢至 5s 还是不太可能发生的。请问是怎么测算时间的呢?
500条数据,修改其中一项,渲染太慢现有500条数据,在页面中用wx:for进行渲染 现在修改其中一项数据,需要渲染5秒钟 let key = "dataArray[5].count"; this.setData({ [key]: 10 }) 求大神帮忙如何优化?
2019-06-03