云逻星空
云逻星空
  • 发布:2022-03-27 13:08
  • 更新:2022-04-09 18:41
  • 阅读:282

【报Bug】uni-pop二次封装后运行环境正常使用,发行环境报错

分类:uni-app

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

PC开发环境操作系统: Mac

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

HBuilderX类型: Alpha

HBuilderX版本号: 3.4.3

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

基础库版本号: 2.21.1

项目创建方式: HBuilderX

操作步骤:

``<template>
<view class="addPop">
<uni-popup ref="popup" type="center">
<view class="popup-help-sell">
<view class="text-c van-hairline-bottom" style="padding:0 30rpx 30rpx;margin-bottom: 24rpx;">{{title}}</view>
<view class="popup-input" style="margin-bottom: 24rpx;">
<input v-model="content" maxlength="10" :placeholder="placeholder" placeholder-style="color:#999" />
<view>{{content ? content.length : 0}}/10</view>
</view>
<view class="van-hairline-top popup-add-nav flex justify-between align-center">
<view class="flex justify-center align-center van-hairline-right" @tap="close">取消</view>
<view class="main flex justify-center align-center" @tap="handleConfirm">确认</view>
</view>
</view>
</uni-popup>
</view>
</template>

<script>
export default {
name:"addPop",
data() {
return {
content: '',
};
},
props: {
title: '',
placeholder: '',
defaultValue: '',
canBlank: {
type: Boolean,
default: true
},
ifBlankMsg: {
type: String,
default: '请输入内容'
}

    },  
    watch: {  
        defaultValue:{  
            handler(val) {  
                this.content = this.defaultValue || ''  
            },  
            immediate: true  
        }  
    },  
    mounted() {  
        this.content = this.defaultValue || ''  
    },  
    methods: {  
        handleConfirm() {  
            if (!this.canBlank) {  
                if(this.content === ''){  
                    uni.showToast({  
                        icon:'none',  
                        title: this.ifBlankMsg  
                    })  
                    return  
                }  
            }  
            // console.log(`:::${this.content}:::`)  
            this.$emit('change', this.content)  
            this.content = ''  
            this.close()  
        },  
        open() {  
            this.content = this.defaultValue || ''  
            console.log(131313131312)  
            this.$refs.popup.open()  
        },  
        close() {  
            this.content = ''  
            this.$refs.popup.close()  
        }  
    }  
}  

</script>
``

调用
<add-pop :title="popTitle" :placeholder="popTips" :canBlank="false" @change="handleSaveCate" ref="addPop"></add-pop>

ctx.$refs.addPop.open();const addPop = ref(null);addPop.open();

预期结果:

正常调用

实际结果:

运行环境报错

bug描述:

在vue3中uni-pop二次封装后通过re调用

2022-03-27 13:08 负责人:无 分享
已邀请:
小枫叶

小枫叶 - 外包接单加v:wlmk1234567 注明来意

组件调用顺序是否正确?

  • 云逻星空 (作者)

    正确,运行环境下均正常,发行之后才会出现这种情况

    2022-04-05 12:22

小枫叶

小枫叶 - 外包接单加v:wlmk1234567 注明来意

vue2
正常么?

  • 云逻星空 (作者)

    同样的方式vue2是正常的

    2022-04-07 13:43

小枫叶

小枫叶 - 外包接单加v:wlmk1234567 注明来意

给个demo我看下

  • 云逻星空 (作者)

    你直接封装个组件,然后这个组件里面调用uni-pop,然后页面调用这个组件

    2022-04-09 15:47

小枫叶

小枫叶 - 外包接单加v:wlmk1234567 注明来意

因为用法不一样 无法确定你是怎么出现的这个问题,所以需要你这边给一下能复现的demo

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