h***@126.com
h***@126.com
  • 发布:2021-03-18 19:01
  • 更新:2021-03-18 19:01
  • 阅读:1250

【报Bug】editor 在组件里的时候获取不到 editorcontext

分类:uni-app

产品分类: uniapp/小程序/微信

PC开发环境操作系统: Windows

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

HBuilderX类型: 正式

HBuilderX版本号: 3.0.5

第三方开发者工具版本号: 1.05.2103172

基础库版本号: 2.16.0

项目创建方式: HBuilderX

示例代码:

目录结构看第二个图
主页面代码

<template>  
    <view class="container">  
        <djc :edit="edit"></djc>  
        <button @click="edit = true">dsalfkjdskalfjlksda</button>  
    </view>  
</template>  

<script>  
import djc from "../../components/djc/djc.vue";  
export default {  
    components: {djc},  
    data() {  
        return {  
            edit: false,  
        };  
    },  
    methods: {},  
};  
</script>

插件页面代码


<template>  
    <view class="container">  
        <editor v-if="edit" id="editor" class="ql-container" :placeholder="placeholder" @ready="onEditorReady"></editor>  
    </view>  
</template>  

<script>  
export default {  
    props: {  
        edit: {  
            type: Boolean,  
            default() {  
                return false;  
            },  
        },  
    },  

    methods: {  
        onEditorReady() {  
            // #ifdef MP-BAIDU  
            this.editorCtx = requireDynamicLib("editorLib").createEditorContext("editorId");  
            // #endif  

            // #ifdef APP-PLUS || H5 ||MP-WEIXIN  
            uni.createSelectorQuery()  
                .select("#editor")  
                .context((res) => {  
                    this.editorCtx = res.context;  
                })  
                .exec();  
            // #endif  
        },  
    },  
};  
</script>

操作步骤:

将editor 放到组件里面, 就无法获取其 editorcontext

预期结果:

应该获取到

实际结果:

没获取到

bug描述:

将editor 放在components 里面的时候,小程序onEditorReady 获取不到 editorcontext
将editor 放在最外面就可以获取到

第一个图是报错
第二个图是报错的代码
第三个图是不报错的图和代码

h5 页面能正常获取,
微信小程序拿不到

找到问题了,组件要加 uni.createSelectorQuery()

.in(this)

2021-03-18 19:01 负责人:无 分享
已邀请:

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