- skyline和worklet在Android 8.0.25 + 基础库 2.25.2 中不生效?
扫描官方示例程序,是可以体验到skyline和worklet的 但自己写的小程序项目(包括官方示例模板),在开发工具上是可以运行skyline和worklet,但在手机上预览,始终是webview渲染,且worklet提示platform not support System: Android 11, WeChat 8.0.25.2200 Network: wifi UA: Mozilla/5.0 (Linux; Android 11; V2073A Build/RP1A.200720.012; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/86.0.4240.99 XWEB/4293 MMWEBSDK/20220706 Mobile Safari/537.36 MMWEBID/4153 MicroMessenger/8.0.25.2200(0x2800193B) WeChat/arm64 Weixin NetType/WIFI Language/zh_CN ABI/arm64 MiniProgramEnv/android WeChatLib: 2.25.2 (2022.7.27 11:42:58) Subpackag es: N/A 报错信息: MiniProgramError\nworklet mechanism cannot be used, platform not support\nError: worklet mechanism cannot be used, platform not support\nat Me (WAServiceMainContext.js:1:537167)\nat We (WAServiceMainContext.js:1:539673)\nat Object.z [as shared] (WAServiceMainContext.js:1:482960)\nat l.emit (WAServiceMainContext.js:1:737112)\nat Object.emit (WAServiceMainContext.js:1:733863)\nat (WAServiceMainContext.js:1:2297056)\nat l.<anonymous> (WAServiceMainContext.js:1:1606183)\nat l.emit (WAServiceMainContext.js:1:737210)\nat Object.emit (WAServiceMainContext.js:1:733863)\nat (WAServiceMainContext.js:1:768148)
2022-08-05 - textarea组件 在 iOS 真机下 无法动态切换绑定 input 事件
textarea 动态绑定 input 事件,然后再次切换绑定的 input 事件名,在 iOS 真机上,始终触发的是第一次绑定的 input 事件,而开发者工具,Android均正常。 可以直接导入代码片段测试:https://developers.weixin.qq.com/s/8Cn9UkmR76Aq 测试步骤(仅限iOS真机,其他环境均正常): 第一次在textarea输入文字,提示当前绑定和正在触发的事件名均为input1点击动态切换事件名,继续在textarea输入文字,提示绑定的是input2,但触发的还是input1js代码 Page({ data: { inputEvent: "input1", triggerInputEvent: "", }, change() { this.setData({ inputEvent: this.data.inputEvent === 'input1' ? 'input2' : 'input1' }) }, input1(e) { console.log('input1...', e.detail.value) this.setData({ triggerInputEvent: 'input1' }) }, input2(e) { console.log('input2...', e.detail.value) this.setData({ triggerInputEvent: 'input2' }) } }) wxml代码 <view>textarea</view> <textarea bindinput="{{inputEvent}}" placeholder="请输入内容,以触发input事件"></textarea> <view>当前绑定的事件名:{{inputEvent}}</view> <view>正在触发的事件名:{{triggerInputEvent}}</view> <button bindtap="change" style="margin:25px auto">动态切换事件名</button> <view>iOS真机时,textarea绑定的input事件无法动态切换(一直触发的是第一次绑定的input1),模拟器,Android均正常</view>
2022-06-27 - 自定义组件 attached 部分情况不触发
- 当前 Bug 的表现(可附上截图) 组件 component1 属性列表有一个 show 类型为 Boolean,默认值为 true [代码]properties: {[代码][代码] [代码][代码]show: {[代码][代码] [代码][代码]type: Boolean,[代码][代码] [代码][代码]value: [代码][代码]true[代码][代码] [代码][代码]}[代码][代码] [代码][代码]},[代码][代码]<!--component1.wxml-->[代码][代码]<[代码][代码]view[代码][代码]>component1.wxml</[代码][代码]view[代码][代码]>[代码][代码]<[代码][代码]component2[代码] [代码]wx:if[代码][代码]=[代码][代码]"{{show}}"[代码][代码]/>[代码]2. 页面 index 引用 component1,并传入 show 为 false [代码]<[代码][代码]view[代码] [代码]class[代码][代码]=[代码][代码]"intro"[代码][代码]>[代码][代码] [代码][代码]<[代码][代码]component1[代码] [代码]show[代码][代码]=[代码][代码]"{{false}}"[代码][代码]/>[代码][代码]</[代码][代码]view[代码][代码]>[代码]3.此时, 组件 component2 的 created,ready 会触发,attached 不会触发 - 预期表现 组件 component1 的 show 默认值是 true,外部传入为 false 时 最佳表现,应该是 component2 不会被创建,即所有生命周期都不触发 即使因为底层实现,默认值为 true 导致 created,ready 触发,也应该补上 attached,后续因为传入 false 时,再补上 detached 事件 - 提供一个最简复现 Demo - 复现路径 https://developers.weixin.qq.com/s/L1PSWnm67y8Y
2019-05-15 - hidden属性部分情况不能动态变化
- 当前 Bug 的表现(可附上截图) wxml 使用 hidden="{{!array.length}}" js 中对 array 进行差量更新,无法触发 hidden 变化,只能全量更新 [代码]<[代码][代码]view[代码] [代码]class[代码][代码]=[代码][代码]"intro"[代码][代码]>[代码][代码] [代码][代码]<!-- hidden 仅在全量设置时会切换状态,差量追加不会触发 hidden 变化 -->[代码][代码] [代码][代码]<[代码][代码]view[代码] [代码]hidden[代码][代码]=[代码][代码]"{{!array.length}}"[代码][代码]>[代码][代码] [代码][代码]show[代码][代码] [代码][代码]</[代码][代码]view[代码][代码]>[代码][代码] [代码][代码]<[代码][代码]view[代码][代码]>[代码][代码] [代码][代码]array.length={{array.length}}[代码][代码] [代码][代码]</[代码][代码]view[代码][代码]>[代码][代码] [代码][代码]<[代码][代码]button[代码] [代码]bindtap[代码][代码]=[代码][代码]"clearArray"[代码][代码]>清空数组</[代码][代码]button[代码][代码]>[代码][代码] [代码][代码]<[代码][代码]button[代码] [代码]bindtap[代码][代码]=[代码][代码]"addItem"[代码][代码]>差量追加数组</[代码][代码]button[代码][代码]>[代码][代码] [代码][代码]<[代码][代码]button[代码] [代码]bindtap[代码][代码]=[代码][代码]"setArray"[代码][代码]>全量设置数组</[代码][代码]button[代码][代码]>[代码][代码] [代码][代码]<[代码][代码]view[代码] [代码]wx:for[代码][代码]=[代码][代码]"{{array}}"[代码][代码]>[代码][代码] [代码][代码]{{item}}[代码][代码] [代码][代码]</[代码][代码]view[代码][代码]>[代码][代码]</[代码][代码]view[代码][代码]>[代码][代码]const app = getApp()[代码] [代码]Page({[代码][代码] [代码][代码]data: {[代码][代码] [代码][代码]array:[][代码][代码] [代码][代码]},[代码][代码] [代码][代码]addItem(){[代码][代码] [代码][代码]const array = [代码][代码]this[代码][代码].data.array[代码][代码] [代码][代码]this[代码][代码].setData({[代码][代码] [代码][代码][[代码][代码]'array['[代码][代码]+array.length+[代码][代码]']'[代码][代码]]:array.length[代码][代码] [代码][代码]})[代码][代码] [代码][代码]},[代码][代码] [代码][代码]setArray(){[代码][代码] [代码][代码]this[代码][代码].setData({[代码][代码] [代码][代码]array: [0,1,2,3,4,5][代码][代码] [代码][代码]})[代码][代码] [代码][代码]},[代码][代码] [代码][代码]clearArray(){[代码][代码] [代码][代码]this[代码][代码].setData({[代码][代码] [代码][代码]array:[][代码][代码] [代码][代码]})[代码][代码] [代码][代码]}[代码][代码]})[代码]- 预期表现 当对 array 差量更新时,hidden="{{!array.length}}" 可以正常变化 - 复现路径 1.点击”差量追加数组“按钮,会向array 中追加一条数据,此时 hidden 属性判断未生效,仍是隐藏状态,应该是显示状态 2.点击”全量设置数组“按钮,会全量更新 array,此时 hidden 属性判断会生效,处于显示状态 3.点击”清空数组“按钮,会全量清除 array,,此时 hidden 属性判断会生效,处于显示状态,此时可以继续测试差量与全量的差异 - 提供一个最简复现 Demo https://developers.weixin.qq.com/s/yLfleHms7975
2019-04-17