照相
照相
  • 发布:2022-07-20 13:54
  • 更新:2022-09-16 09:25
  • 阅读:269

在vue2+APP中,若使用v-slot:cell,子组件中$solts无法成功判断有没有被插入此cell组件,在h5中正常。或使用slot="cell"也正常

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Mac

PC开发环境操作系统版本号: 12.4

HBuilderX类型: 正式

HBuilderX版本号: 3.4.18

手机系统: iOS

手机系统版本号: iOS 15

手机厂商: 苹果

手机机型: iPhone13

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

子组件:test.vue

<template>  
	<view v-if="$slots.cell">  
		<slot name="cell" />  
	</view>  
	<view v-else>  
		默认的cell  
	</view>  
</template>

父组件:index.vue

<template>  
	<view class="content">  
		<test>  
			<template v-slot:cell>  
				<view>  
					这是插入的自定义cell,在App中无法显示,H5中可以显示  
				</view>  
			</template>  
			  
			<!-- <view slot="cell">  
				如果是通过slot="cell"插入cell,则正常  
			</view> -->  
		</test>  
	</view>  
</template>

操作步骤:

根据上方代码示例,预期结果:页面显示标签:这是插入的自定义cell,在App中无法显示,H5中可以显示。
实际结果为:在APP中,显示标签:默认的cell。
结论:$slots.cell判定为false,但是实际上应当为ture

预期结果:

根据上方代码示例,预期结果:页面显示标签:这是插入的自定义cell,在App中无法显示,H5中可以显示。
实际结果为:在APP中,显示标签:默认的cell。
结论:$slots.cell判定为false,但是实际上应当为ture

实际结果:

根据上方代码示例,预期结果:页面显示标签:这是插入的自定义cell,在App中无法显示,H5中可以显示。
实际结果为:在APP中,显示标签:默认的cell。
结论:$slots.cell判定为false,但是实际上应当为ture

bug描述:

在vue2+APP中,若使用v-slot:cell,自组件中$solts无法成功判断有没有被插入此cell组件,在h5中正常。或使用slot="cell"也正常

2022-07-20 13:54 负责人:DCloud_UNI_GSQ 分享
已邀请:
照相

照相 (作者)

这个问题有解决方案吗~~

照相

照相 (作者)

这个问题有解决方案吗~~

CODE_XU

CODE_XU

APP 端不支持 $solts 详情

  • 照相 (作者)

    但是经过测试,vue3+app中使用$slot是正常的,vue2+app中如果通过slot="cell"插入cell也正常。只有vue2+app中如果通过v:slot:cell插入的cell不正常


    2022-09-02 10:51

照相

照相 (作者)

这个问题有解决方案吗~~

c***@qq.com

c***@qq.com

我也刚遇到这个问题了。 VUE3 中$slots.suffix 这样的判断 是可以的,但是vue2 ,不通过,
但是可以换一种写法 就是老办法。。哈哈 不能适配。 VUE3 下面的写法又不可以,哈哈

        <template slot="suffix">  
          <text>1231</text>  
        </template>
c***@qq.com

c***@qq.com

才发现,App端既然不支持。。。。。$slot.....晕。哈哈,这样不好玩

要回复问题请先登录注册