收藏
回答

自定义组件隐藏和显示问题

问题模块 框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 小程序 Bug 自定义组件 工具 6.6.7 1.9.90

自定义的组件,父容器通过wx:if="{{show}}" 控制显示和隐藏,在js中通过selectComponent("#id")获取组件实例A,然后隐藏父容器,自定义组件调用了detach函数,然后再次显示父容器,该组件实际上是新建了实例B,但是原来的实例A依然存在,这个时候对组件的任何操作都是发生在A上,B虽然显示了,但是没有任何变化,现在解决方法是父容器隐藏时,指向A的变量置为null,然后父容器显示的时候重新调用selectComponent获取到B实例,请问是否还有别的方式解决?


最后一次编辑于  2018-05-31  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

1 个回答

  • 卢霄霄
    卢霄霄
    2018-05-31

    不用wx:if , 用hidden,注意hidden的逻辑和wx:if是反的哈,是什么时候隐藏

    2018-05-31
    赞同
    回复 5
    • hetwen
      hetwen
      2018-05-31

      用的flex布局,貌似不生效,而且hidden还是会占用空间

      2018-05-31
      回复
    • 卢霄霄
      卢霄霄
      2018-05-31回复hetwen

      能把需要隐藏的部分都写进组件吗

      2018-05-31
      回复
    • hetwen
      hetwen
      2018-05-31回复卢霄霄

      可以写进去,写进去再怎么搞?

      2018-05-31
      回复
    • 卢霄霄
      卢霄霄
      2018-05-31回复hetwen

      写进去在内部做隐藏显示,对外的实例不会变啊

      2018-05-31
      1
      回复
    • hetwen
      hetwen
      2018-05-31回复卢霄霄

      是的,这是个办法,谢谢

      2018-05-31
      回复