8***@qq.com
8***@qq.com
  • 发布:2020-04-26 15:43
  • 更新:2021-06-03 10:30
  • 阅读:1906

【报Bug】APP端还是不支持slot动态插槽名

分类:uni-app

详细问题描述

uni-app在IDE更新日志中指出,新版本APP已经支持动态slot插槽,然而,在我封装自定义组件的过程中,发现只有APP端无法正常渲染

[内容]
因为业务组件比较复杂,不方便调试,所以我专门写了一个测试组件复现这个问题

自定义组件代码如下

<template>  
  <view>  
    <view v-for="(item, index) in list" :key="item.id">  
      <!-- #ifdef H5 || APP-PLUS -->  
      <slot :name="item.id"></slot>  
      <!-- #endif -->    
      <!-- #ifdef MP -->    
      <slot name="{{item.id}}"></slot>    
      <!-- #endif -->  
    </view>  
  </view>  
</template>  

<script>  

export default {  
  props: {  
    list: {  
      type: Array,  
      default () {  
        return {}  
      }  
    }  
  }  
}    

</script>  

<style>  
</style>

调用该组件的部分代码如下

<template>  
  <view>  
    <test :list="navData">  
      <template v-slot:a>  
        aaaaaaaaaaaaaaaaa  
      </template>  
      <template v-slot:b>  
        bbbbbbbbbbbbbbbbbbb  
      </template>  
    </test>  
    <!-- <cm-calendar></cm-calendar> -->  

  </view>  
</template>  

<script>  
import test from '../test/test.vue'  

export default {  
  name: 'calendarView',  
  components: {  
    test  
  },  
  data () {  
    return {  
      navData: [  
        {  
          text: 'a',  
          id: 'a'  
        },  
        {  
          text: 'b',  
          id: 'b'  
        }  
      ]  
    }  
  },  
  methods: {  
  },  
  created () {  
  }  
}  
</script>

[步骤]

[结果]

[期望]

运行结果:在小程序以及H5端正常,APP端没有渲染出动态插槽中的内容

IDE运行环境说明

[HBuilder 或 HBuilderX。如果你用其他工具开发uni-app,也需要在此说明]

[IDE版本号] 2.16.5

[windows版本号]

[mac版本号]

uni-app运行环境说明

[运行端是h5或app或某个小程序?] APP端异常

[运行端版本号]

[项目是cli创建的还是HBuilderX创建的?如果是cli创建的,请更新到最新版cli再试] HBX 创建

[编译模式说明:自定义组件模式?纯nvue模式?v3模式?] v3模式

App运行环境说明

[Android版本号]

[iOS版本号]

[手机型号]

[模拟器型号]

附件

[IDE问题请提供HBuilderX运行日志。菜单帮助-查看运行日志,点右键打开文件所在目录,将log文件压缩成zip包上传]

[App问题请提供可重现问题的代码片段,你补充的细一点,问题就解决的快一点]

[App安装包或H5地址]

[可重现代码片段]

联系方式

[QQ]

小小的抱怨一下,如果不起【报bug】的标题,那么你的问题将永远得不到关注QAQ。

2020-04-26 15:43 负责人:DCloud_UNI_GSQ 分享
已邀请:
前段未来

前段未来 - JelonJoo

也是遇到这个问题了,这么重要且高频使用的特性居然不支持。楼上的hack方法好是好,但是限制也很多,好多时候index是在组件内部的,外部拿不到index , 也有可能是动态的name压根没有vfor 。 目前只能使用默认插槽,再进行vif判断了。

  • DCloud_UNI_GSQ

    收到,根据需求人数会提升优先级。

    2021-06-03 14:36

  • 1***@qq.com

    回复 DCloud_UNI_GSQ: 能尽快解决吗,层主的方法也可以但是写起来会很乱

    2021-06-05 18:10

2***@qq.com

2***@qq.com

今天碰到同样的问题,

DCloud_UNI_GSQ

DCloud_UNI_GSQ

你提的需求和更新日志里说的不是一件事。
Bug类型肯定比普通问题优先级高。
这个需求有当然更方便,没有也不影响功能实现。暂时还未排期。后续会处理

  • 4***@qq.com

    这个bug修复了吗?

    2020-05-15 11:40

  • 紫洋

    修复了吗?

    2020-12-10 14:58

  • y***@gdzhtt.com

    什么时候更新,封装组件用动态插槽要吐血了

    2021-04-28 18:14

  • 2***@qq.com

    稍微复杂点的vue语法没一个支持的,不知道有啥意义

    2021-05-14 11:30

  • DCloud_UNI_GSQ

    回复 2***@qq.com: 具体是需要哪一个?根据需求人数会调整优先级。

    2021-05-17 11:51

4***@qq.com

4***@qq.com

坐等更新呢
hbuilder-x 2.7.3
相同的问题

DCloud_UNI_GSQ

DCloud_UNI_GSQ

这里的动态插槽名指的是:v-slot:[dynamicSlotName]
https://cn.vuejs.org/v2/guide/components-slots.html#动态插槽名

g***@gmail.com

g***@gmail.com

该问题什么时候解决呢?

g***@gmail.com

g***@gmail.com

临时 HACK 方案:https://ask.dcloud.net.cn/article/38657

要回复问题请先登录注册