收藏
回答

组件内嵌套组件使用了if else有Bug

问题模块 框架类型 问题类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本
API和组件 小程序 Bug 自定义组件 微信iOS客户端 6.7.0 2.2.0
<custom-cp1 >
  <view wx: if = "{{true}}">view >
  <view wx:else>
    <custom-cp2> custom-cp2 >
  view>
custom-cp1>




上图所示的代码结构会报错VM2779:2 Error: Expect FLOW_MINIPULATE_CHILD but get another,当if条件false的时候不会




报错信息如上图,能正常渲染,但是组件内事件trigger出来以后,页面接受到事件无法更新页面


更新了代码片段,复现了问题,发现不是if else的时候出现,是有elif的时候出现

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

4 个回答

  • oric
    oric
    2018-07-24

    else/elif结点下有自定义组件但if下没有的情况下会出现错误。

    预览上传已修复这个问题,开发者工具本地编译等下次更新修复。

    2018-07-24
    赞同 1
    回复 1
    • 樊梦莹
      樊梦莹
      2018-07-24

      嗯,是的,预览上传是正常的

      2018-07-24
      回复
  • 李良山
    李良山
    2018-07-23
    <custom-cp1>
      <view wx:if="{{true}}">这儿的前</去哪儿了?view>
      <view wx:else>
        <custom-cp2>custom-cp2>
      view>
    custom-cp1>


    2018-07-23
    赞同
    回复 6
    • 樊梦莹
      樊梦莹
      2018-07-23

      编辑的时候有,提交出来就不见了。。。我重新编辑了也不行。。我重新删掉试一下

      2018-07-23
      回复
    • 李良山
      李良山
      2018-07-23回复樊梦莹

      直接用 data的数据,比如 {{abc}},然后在data中定义 abc是true或者false

      2018-07-23
      回复
    • 樊梦莹
      樊梦莹
      2018-07-23回复李良山

      业务里是这样写的,我这里true和false只是一个代指

      2018-07-23
      回复
    • KangKang
      KangKang
      2018-07-24

      引号删掉

      2018-07-24
      回复
    • LastLeaf
      LastLeaf
      2018-07-24

      你好,这个问题是目前版本开发者工具的一个bug(也会影响远程调试)。目前规避的方法是在if分支下也放一个自定义组件(空的自定义组件也行)。下一个开发者工具更新将修复这个问题。


      我们在另一个反馈中定位到了这个问题,以后麻烦提供代码片段。上面的描述和简单代码不明确,有歧义。


      P.S. WXML节点目前还不支持数字字符。之后将支持。

      2018-07-24
      回复
    查看更多(1)
  • LastLeaf
    LastLeaf
    2018-07-23

    你好,问题没有复现出来。请问开发者工具是最新版的吗?基础库版本选的多少呢?

    2018-07-23
    赞同
    回复
  • Yika
    Yika
    2018-08-07

    请问现在解决了么。我在 radio-group 内也使用自定义组件出现了这个问题,并且和顺序是没有关系的。

    2018-08-07
    赞同
    回复 2
    • 樊梦莹
      樊梦莹
      2018-08-07

      我的开发者工具里还是这样, 真机上是正常的

      2018-08-07
      回复
    • Yika
      Yika
      2018-08-07

      我现在的解决方法是,用 view 包住自定义组件,然后使用 hidden 来代替 wx:if 。

      2018-08-07
      回复