- 怎样获得“setData界面动态渲染完毕”事件?
我需要利用 wx.createSelectorQuery().select('#myid') 来获得界面上某组件的属性, 但是该组件是通过setData动态生成的,所以若是在渲染完毕之前尝试获取该组件,就会得到null。 请问,有什么方法,能保证在“setData界面动态渲染完毕”之后,安全地去获得动态生态城的组件吗? 代码示例: [代码]<[代码][代码]view[代码] [代码]wx:for[代码][代码]=[代码][代码]"{{mylist}}"[代码] [代码]wx:key[代码][代码]=[代码][代码]"id"[代码] [代码]id[代码][代码]=[代码][代码]"{{item.id}}"[代码][代码]>[代码][代码] [代码][代码]{{item.text}}[代码][代码]</[代码][代码]view[代码][代码]>[代码] [代码]Page({[代码][代码] [代码][代码]data: {[代码][代码] [代码][代码]mylist: [],[代码][代码] [代码][代码]},[代码][代码] [代码][代码]doSomething: [代码][代码]function[代码][代码]() {[代码][代码] [代码][代码]// 动态设置数据并生成界面组件(setData似乎是一个异步调用)[代码][代码] [代码][代码]this[代码][代码].setData([ {id: [代码][代码]'a'[代码][代码], text: [代码][代码]'a'[代码][代码]}, {id: [代码][代码]'b'[代码][代码], text: [代码][代码]'b'[代码][代码]}, {id: [代码][代码]'c'[代码][代码], text: [代码][代码]'c'[代码][代码]}, ]);[代码][代码] [代码][代码]// 获得某个动态生成的组件的属性[代码][代码] [代码][代码]wx.createSelectorQuery().select([代码][代码]'#b'[代码][代码]).fields({rect:[代码][代码]true[代码][代码]}, (result) => {[代码][代码] [代码][代码]// 在这里是想获得组件'#b'的top属性[代码][代码] [代码][代码]// 但是,当数据量较大时,在界面渲染完毕前,脚本就已经执行到这里,此时组件还没有生成,只能得到null。[代码][代码] [代码][代码]// 虽然可以用setTimeout延迟执行本段代码,数据量不定,延迟的时长也无法预测,不安全。[代码][代码] [代码][代码]let top = result[0].top;[代码][代码] [代码][代码]}).exec();[代码][代码] [代码][代码]},[代码][代码]});[代码]
2018-09-26 - 拷贝粘贴功能总是失效?
- BUG描述 在开发过程中,微信开发者工具经常性地会出现“拷贝、粘贴”功能失效现象。无论是利用Ctrl+C、Ctrl+V快捷键,还是利用鼠标右键菜单,都没有效果。 若把“微信开发者工具”重启一下,又恢复正常了。 这个问题在开发过程中很讨嫌,虽说重启一下工具只要十几秒,但会打断思路…… - 复现路径 问题的出现没发现有什么规律。
2018-09-25