l***@qq.com
l***@qq.com
  • 发布:2022-04-22 15:35
  • 更新:2022-04-22 16:13
  • 阅读:483

【报Bug】rrenderjs中的生成的dom样式不生效

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: win11-22598.100

HBuilderX类型: 正式

HBuilderX版本号: 3.4.6

手机系统: Android

手机系统版本号: Android 10

手机厂商: 华为

手机机型: 荣耀V30Pro

页面类型: vue

vue版本: vue3

打包方式: 云端

项目创建方式: HBuilderX

示例代码:
<template>  
    <view class="content">  
        <view id="echarts" :option="option" :change:option="echarts.changeData" class="echarts"></view>  
    </view>  
</template>  

<script>  
    export default {  
        data() {  
            return {  
                option:[]  
            }  
         },  
         mounted(){  
             setTimeout(()=>{  
                 this.option.push(1);  
             },1000)  
         },    
         methods:{  
             sayHello(a){  
                 uni.showToast({  
                    title:`点击了${a}`  
                 })  
             }  
         }  
    }  
</script>  

<script module="echarts" lang="renderjs">  
    let instance = null;  
    export default {  
        mounted() {  
            setTimeout(()=>{  
                console.log(this.$ownerInstance)  
            },1000)  

         window.onClickTest = (a)=>{  
             console.log(this.$ownerInstance)  
             instance.callMethod('sayHello',a)  
         }  
         let echarts = document.getElementById("echarts");  
         //echarts.innerHTML = `<button type="button" onclick="onClickTest(45)">点我试一试</button>`  
         echarts.innerHTML = `<div class="red-txt">这是红色字体</div>`  
        },  
        methods: {  
            changeData(v,old,oi){  
                console.log(v,old,oi)  
                if(!instance){  
                    instance = oi  
                }  
            }  
        }  
    }  
</script>  

<style lang="scss" scoped>  
    .red-txt{}  
</style>  

<style lang="scss" >  
    .red-txt{color:red;}  
</style>  

操作步骤:

见附件

预期结果:

css样式对renderjs的dom生效

实际结果:

css样式对renderjs的dom不生效

bug描述:

renderjs中的生成的dom样式不生效,无论APP还是H5都不行,上一个版本3.3.13.20220314还是好的

2022-04-22 15:35 负责人:无 分享
已邀请:
DCloud_UNI_FXY

DCloud_UNI_FXY

在 h5 平台页面样式均会增加scoped,不管你style节点加没加 scoped
在 h5 平台你的 .red-txt 样式,一定会被scoped,所以你自己加的div,如果没有增加data-v-xxxxxx等属性,那么就不会生效,之前版本生效,是因为页面存在多个style节点时,没有全部增加scoped,这个是bug,新版本做了修复

App平台测试没有问题

如果你想让生效,那应该把 .red-txt 放到 App.vue 中作为全局样式

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