taro
taro copied to clipboard
designWidth 是function的时候,Taro.pxtransform(0)使用会报错,找不到deviceRatio
相关平台
微信小程序
复现仓库
https://github.com 小程序基础库: 2.20.0 使用框架: React
复现步骤
无
期望结果
pxtransform方法正常使用
实际结果
1
环境信息
Taro CLI 3.4.13 environment info:
System:
OS: macOS 12.3.1
Shell: 5.8 - /bin/zsh
Binaries:
Node: 16.13.1 - /usr/local/bin/node
Yarn: 3.1.1 - /usr/local/bin/yarn
npm: 8.1.2 - /usr/local/bin/npm
npmGlobalPackages:
typescript: 4.6.4
遇到同样的问题,关键使用了三方组件库,designWidth 必须用 function,否则三方组件样式有问题。好坑啊,Taro 开发体验真的是太差了。
我也遇到了,正打算提issues,结果看见了这个。
用第三方库,比如@antmjs/vantui的时候,库中会调用Taro.pxTransform函数,转换size。
然而在getPxTransform 方法中,拿到的designWidth 也是一个函数,而不是执行后的返回值,导致报错
@Chen-jj 请问大佬这里有解决吗,我升级到3.5.10依旧有这个问题
if (!(designWidth in deviceRatio)) {
throw new Error("deviceRatio \u914D\u7F6E\u4E2D\u4E0D\u5B58\u5728 ".concat(designWidth, " \u7684\u8BBE\u7F6E\uFF01"));
}
return parseInt(size, 10) * deviceRatio[designWidth] + "rpx";
designWidth 如果为一个方法,全局(比如tabbar)不能使用 Taro.pxTransform
对于三方组件库,例如@antmjs/vantui 只能库来就行修改吗?