一个帅小伙
一个帅小伙
  • 发布:2021-05-02 16:46
  • 更新:2021-05-02 16:46
  • 阅读:1066

【报Bug】slot 插槽 内容 无法继承 子组件的 class 样式 因为 data-v-*** 属性

分类:uni-app

产品分类: uniapp/H5

PC开发环境操作系统: Mac

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

HBuilderX类型: 正式

HBuilderX版本号: 3.1.12

浏览器平台: Chrome

浏览器版本: 90.0.4430.93

项目创建方式: HBuilderX

示例代码:

Parent.vue

        <navBar>  
            <template slot="left">  
                <view class="item">  
                    <text class="name">slotName</text>  
                </view>  
                <view class="item">  
                    <text class="name">slotName</text>  
                </view>  
            </template>  
        </navBar>

Child.vue

<template>  
    <view class="navBar">  
        <view class="left">  
            <view class="item">  
                <text class="icon">icon</text>  
                <text class="name">defaultName</text>  
            </view>  
            <slot name="left"></slot>  
        </view>  
    </view>  
</template>  

<script>  
export default {  
    name:"navBar",  
    props:{},  
    data() {return {}}  
}  
</script>  

<style>  
    .navBar { ... }  
    .navBar .item { display:flex; ... }  
    .navBar .name { color:red; font-size:14px; padding-left:10px; }  
</style>  

操作步骤:

同"代码示例"

预期结果:

同"代码示例"

实际结果:

同"代码示例"

bug描述:

提问题没人鸟我,不晓得是 Vue 版本问题又或者怎么回事,这个问题很糟心,在自定义组件过程中,slot 插入的元素如何沿用子组件设置好的默认样式 这样无法做到一次开发处处使用,而是需要单独为 slot 插入的元素复制出一份样式,或者关闭 scoped(你们默认开启) 又或者设置全局样式 不觉得很麻烦么? 大项目不在乎,但是小项目不至于,想可以为 插入的元素&组件设置 子组件的 data-v-*** 属性 方便组件的 slot 插入元素沿用 默认样式

2021-05-02 16:46 负责人:无 分享
已邀请:

该问题目前已经被锁定, 无法添加新回复