插眼,2023年1月9日15:42:34,Bug还在。
组件observers监听中调用setData无效,除非用setTimeout我们在普通页面上引用了一个自定义的 component,页面 JS 中的数据更新触发了 component 里的 observers,但是在 observers 中对数据再次加工并显示的时候,调用 setData 应用数据修改没有生效,只有在 setTimeout 中调用 setData 才生效。 能帮忙看下这是什么原因导致的吗?是 API 本身的局限还是 bug?谢谢。 开发者工具:v1.02.1907300 基础库:2.6.1 代码片段:https://developers.weixin.qq.com/s/igXn84mF71bv
2023-01-09代码片段:https://developers.weixin.qq.com/s/jHbYIGmQ7Cyf 我写了个定时器,一直不停修改 range 和 value,请看下列表的变化。只有增加列的时候有效,删除列的时候,后面的不变,前面的变了。明显就是个BUG。
picker 多列动态减少列时出现BUG?我这边有一个特殊数组,有些选项有四级目录,有些只有三级目录,当我从三级目录切换到四级的时候,列数会从三列变成四列,但是我选择三极目录时,第四列并不会消失。 在PC上用联级选择器展示大概是这样的效果。 [图片] 如果我在小程序用 picker 选中了 ‘林木育种’ 然后操作第三列下滑到 ‘造林和更新’ ,第四列应当消失,可事实是第四列未发生任何改变。
2022-04-21举个例子,原本我有一个进步器 `stepper` 组件,它有个 `max` 属性可以控制最大值的范围,如果我不传这个值的时候,最大值就是999,否则就用传入的值作为最大值。 我只需要写 Component( properties: { max: { type: Number, value: 999 } } ) 这样设置就可以了。 但是现在强制类型转换,导致我传入 `undefined` 时,会被默认转换成 `0`,导致默认值 `999` 被无视了?!我现在要想在 `max` 为 `undefined` 时默认值为 `999` 就只能这样写: <stepper max="{{ goods.min_unit_buy_limit.max !== undefined ? goods.min_unit_buy_limit.max : 999 }}" /> 如果我这个计步器多处使用的话,没处都要这么写才行。 我这里只是简单举一个例子,实际开发中这种情况非常普遍,写法上太过冗余。麻烦是其次,最大的问题是我现在已有项目中有非常非常多的组件受到这个改动的影响,实际影响范围难以估计,问题排查难度非常大。 我肯定还有人能想到比我这个更好的解法,但我觉得,如果这里强制类型转换了,那默认值是真的毫无用处了。
自定义组件属性的值能否不强制转换类型?早前小程序的自定义组件的 properties,如果父级传入了 undefined,组件内取到的值就是 undefined。 而现在默认会做类型转换:String 收到空字符串,Number 收到 0,Boolean 收到 false,Object 收到 null,Array 收到空数组。造成很多时候 properties 的默认值形同虚设,需要另外做默认值兜底的工作。 请问有没有什么办法关掉这个类型转换呢?
2021-09-06