1***@qq.com
1***@qq.com
  • 发布:2022-05-09 13:31
  • 更新:2022-05-10 15:13
  • 阅读:468

【报Bug】app build导出app资源scrollView下存在refresher插槽会编译报错

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

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

HBuilderX类型: Alpha

HBuilderX版本号: 3.4.9

手机系统: Android

手机系统版本号: Android 10

手机厂商: 华为

手机机型: 任意

页面类型: vue

vue版本: vue3

打包方式: 离线

项目创建方式: HBuilderX

示例代码:
<template>  
    <view class="content">  
        <scroll-view>  
            <template #refresher>  
                123  
            </template>  
        </scroll-view>  
    </view>  
</template>  

<script>  
    export default {  
        data() {  
            return {  
                title: 'Hello'  
            }  
        },  
        onLoad() {  

        },  
        methods: {  

        }  
    }  
</script>  

<style>  
    .content {  
        display: flex;  
        flex-direction: column;  
        align-items: center;  
        justify-content: center;  
    }  

    .logo {  
        height: 200rpx;  
        width: 200rpx;  
        margin-top: 200rpx;  
        margin-left: auto;  
        margin-right: auto;  
        margin-bottom: 50rpx;  
    }  

    .text-area {  
        display: flex;  
        justify-content: center;  
    }  

    .title {  
        font-size: 36rpx;  
        color: #8f8f94;  
    }  
</style>  

操作步骤:

1.随便新建一个uniapp项目
2.在页面中写scroll-view
3.scroll-view中写refresher插槽
4.app build

预期结果:

正常编译

实际结果:

编译报错codegenNode为undefined

bug描述:

vue3中,无论是cli版本npm run build:app还是HbuilderX app build导出app资源,项目scrollView下如果存在refresher插槽会编译报错
页面代码

编译报错

2022-05-09 13:31 负责人:无 分享
已邀请:
1***@qq.com

1***@qq.com (作者) - Unique

h5 build正常,app build会报错

1***@qq.com

1***@qq.com (作者) - Unique

真的没人注意这个问题吗?vite编译的,在uni内置组件里写具名插槽,app build会报错,这很容易复现啊

DCloud_UNI_FXY

DCloud_UNI_FXY

用法错误,插槽只能在自定义组件内使用
h5 平台中view,scroll-view使用 vue 的自定义组件实现,所以你套用template插槽表面看没有问题
你可以在标准vue3中,用div来嵌套template插槽,一样会报错

https://vue-next-template-explorer.netlify.app/#eyJzcmMiOiI8dGVtcGxhdGU+ICBcbiAgICA8ZGl2IGNsYXNzPVwiY29udGVudFwiPiAgXG4gICAgICAgIDxkaXY+ICBcbiAgICAgICAgICAgIDx0ZW1wbGF0ZSAjcmVmcmVzaGVyPiAgXG4gICAgICAgICAgICAgICAgMTIzICBcbiAgICAgICAgICAgIDwvdGVtcGxhdGU+ICBcbiAgICAgICAgPC9kaXY+ICBcbiAgICA8L2Rpdj4gIFxuPC90ZW1wbGF0ZT5cbiIsIm9wdGlvbnMiOnt9fQ==

  • 1***@qq.com (作者)

    可是app的scroll-view中我看着是有refresher这个slot的啊,当refresher-default-style设置为none的时候,不应该实在refresher这个slot里去写自定义刷新样式吗?

    2022-05-10 15:21

  • 1***@qq.com (作者)

    而且我看着你们编译后的代码,直接把scroll-view中的内容用Array当children了,而不是slot的写法,这合理吗?

    2022-05-10 15:40

  • DCloud_UNI_FXY

    回复 1***@qq.com: scroll-view是内置组件,不是自定义组件

    2022-05-10 16:42

  • DCloud_UNI_FXY

    回复 1***@qq.com: 不要使用插槽方式实现自定义refresher

    2022-05-10 16:44

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