收藏
回答

snapshot组件下的wx:if不能动态渲染

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug snapshot 微信安卓客户端 8.0.48 3.4.1

有以下wxml

<snapshot mode='view'>
<view wx:if='{{show}}'>hello</view>
</snapshot>


以下js

Page({
data:{show:false},
onLoad() {
  setTimeout(()=>{
    this.setData({show: true})
  }, 1000)
}
})


我希望页面加载1秒后把view显示出来,这时候我就可以调用方法生成截图。实际发现当show变化的时候, snapshot下的这个view并不会跟着变化。

当我在snapshot上加上一个wx:if,重新加载snapshot节点之后,这个view就正常显示在snapshot里了。

在官方示例上复现了此问题,在开发工具上显示是正确的(但导出截图是空白),在真机上就可以复现此问题。

回答关注问题邀请回答
收藏

2 个回答

  • Eric Huang
    Eric Huang
    04-18

    已知问题,下个版本会修复下

    04-18
    有用 1
    回复 2
    • David😉
      David😉
      05-11
      问下具体是在哪个基础库的版本修正?我可以去设置对应的最低版本库限制。
      05-11
      回复
    • David😉
      David😉
      05-11回复David😉
      而且还有一个可能是类似的问题,snapshot节点内的image标签,真机上有可能渲染不出来。也是在标签内的。
      05-11
      回复
  • 那一抹笑😃 穿透阳光
    那一抹笑😃 穿透阳光
    04-18
    let that = this;
    setTimeout(()=>{
        that.setData({show: true})
      }, 1000)
    


    04-18
    有用
    回复 1
    • David😉
      David😉
      发表于小程序端
      04-18

      这里的this是对的。指向page,详细的可以看发的那个代码片段。

      04-18
      回复
登录 后发表内容