official-account 在 onShow 周期的显示和隐藏问题
发布于 6 年前 作者 oxiang 12718 次浏览 来自 问答
  • 预期表现

需求是在页面显示几次组件后不再显示,避免打扰到用户,但是目前的组件在隐藏之后似乎没法再重复显示出来。抽象出下面的 demo 可以复现这个问题

  • 提供一个最简复现 Demo

js:

onShow() {

    setInterval(() => {

        if(this.data.displayTime === 5) {

            this.setData({

                displayTime: 1,

             })

            return

        }

        this.setData({

            displayTime: 5,

        })

    }, 5000)

}

wxml:

<official-account wx:if="{{displayTime !== 5}}" />

3 回复

貌似用了wx:if来控制 第一次扫码可以显示 第二次就显示不了

目前的暂时的解决方案是在父级套一个 view

<view hidden={{displayTime === 5}}>

    <official-account />

</view>

我也试过想控制组件的显示与隐藏,但解决办法只有用父级来控制,不能直接控制组件

回到顶部