uni-app vue2 中在飞书侧 setData 问题引起的渲染有误

j9per5c4  于 4个月前  发布在  uni-app
关注(0)|答案(1)|浏览(54)

问题描述

  1. 在vue的prototype上挂在了国际化函数:

  1. 在页面上调用函数进行国际化文案

  1. 打包结果的 render 函数

  1. 最终渲染的结果

国际化出现静态数据渲染成了null

通过询问飞书平台侧的同学,他们给的结论是:

$root 之前 set 的 $root.m1、$root.m2、$root.m4 都会被后面 set 的 $root 初始值(里面全是 null),设置为了 null,而在 $root 后面 set 的 $root.m5、$root.m7、$root.m8 都是有值的

产生该问题的原因是飞书侧最原始的 setData 数据的方式是通过 Object.keys 遍历所有 set 的数据的,Object.keys 又是会根据对象中属性的赋值先后循序进行遍历的

现平台侧提供有新渲染框架(不再使用 Object.keys 的方式在 webview 层处理,直接在 service 层进行处理),但是使用该框架有最小客户端版本要求,所以为了兼容使用旧版本客户端的用户,可能仍需要 uniapp 侧提供解决方式

其他信息:

当然不仅仅是静态数据有问题,响应式数据可能也会有问题,根据推测也应该是 setData 数据顺序引起的

预期结果
渲染结果正常显示国际化文案

实际结果
出现不正常渲染

系统信息:

  • 发行平台: 飞书小程序
  • uni-app版本: 2.0.2-3070920230324001
zpqajqem

zpqajqem1#

@zhetengbiji@fxy060608 能给个归因么,麻烦啦

相关问题