wx:if/else内放置组件 无法通过selectComponent获取实例
发布于 6 年前 作者 guiying32 20132 次浏览 来自 问答
  • 当前 Bug 的表现(可附上截图)

wx:if/else内放置组件 或 组件使用wx:if/else 无法通过selectComponent获取组件实例。

  • 预期表现

wx:if/else条件成立,组件在页面存在时,通过selectComponent方法可获取组件实例。

  • 复现路径

无。

  • 提供一个最简复现 Demo

<!-- demo wxml -->

<!-- 例子 1–>

<component id=“component”></component>

<!-- 例子 2 -->

<component wx:if="{{flag}}" id=“component”></component>

<!-- 例子 3 -->

<view wx:if="{{flag}}">

<component id=“component”></component>

</view>

<!-- 例子 4 -->

<view wx:else>

<component id=“component”></component>

</view>

<!-- demo js -->

console.log( this.selectComponent("#component") )

// 前提:component已有,flag=true

// 例子 1 输出:组件实例对象 --成功

// 例子 2 输出:null --失败

// 例子 3 输出:null --失败

// 例子 4 输出:null --失败

2 回复

用hidden隐藏呗。。因为wx:if为false的时候,界面上根本不渲染的

如果外层循环加上 block  v-if

内层使用v-for

components已经初始化 但是抓不到component

回到顶部