2***@qq.com
2***@qq.com
  • 发布:2024-10-14 19:57
  • 更新:2024-10-25 11:53
  • 阅读:108

【报Bug】slide 横屏时宽度显示不全

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

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

HBuilderX类型: 正式

HBuilderX版本号: 4.29

手机系统: Android

手机系统版本号: Android 12

手机厂商: 华为

手机机型: plxel 4

页面类型: nvue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

<template>
<view style="display: flex;flex: 1;">
<video id='video1' class="video" :src="src1" controls="true" :danmu-list="list" codec="software"
http-cache="true" play-strategy="0" danmu-btn="false" enable-danmu="true" :loop="true" muted="true"
auto-play="true" enable-progress-gesture="false" direction="-90" show-loading="true" show-mute-btn="true"
@fullscreenchange="fullscreenchange">
<!-- 全屏时的页面展示 -->
<cover-view v-if="isFullScreen" class="cover_video">
<view style=" padding: 0rpx 50rpx 0rpx 50rpx; height: 80rpx; ">
<slider class="slide_full_view" :value="current" :max="duration" @changing="changing"
@change="change" block-size="20" activeColor="#7a7a7a" backgroundColor="#f5f5f5"
block-color="#f5f5f5" />
</view>
<view style="height: 50rpx;width: 100rpx; background-color: white; align-items: center;justify-content: center; margin-left: 100rpx;" @click="startAdd">点击这个验证</view>
</cover-view>
</video>
</view>
</template>

<script>
export default {

    data() {  
        return {  
            src1: "http://www.w3school.com.cn/i/movie.mp4",  
            videoContext: uni.createVideoContext("video1", this),  
            isFullScreen: false,  
            current: 0,  
            duration: 5,  
        }  
    },  
    methods: {  
        fullscreenchange(e) {  
            // 打开 nvue 子窗体  
            console.log("fullscreenchange:" + JSON.stringify(e));  
            this.isFullScreen = e.detail.fullScreen;  
        },  
        startAdd() {  
            this.current = 0  
            this.timer = setInterval(() => {  
                if (this.current < this.duration) {  
                    this.current = this.current + 1  
                } else {  
                    clearInterval(this.timer)  
                }  
            }, 1000)  
        }  
    }  
}  

</script>

<style>
/deep/ .uni-slider-handle-wrapper {
height: 10rpx !important;
}

/deep/ .uni-slider-thumb {  
    margin-top: 4rpx;  
}  

/deep/ .uni-slider-track {  
    height: 10rpx !important;  
}  

.cover_video {  
    display: flex;  
    flex: 1;  
    justify-content: flex-end;  
}  

</style>

操作步骤:

横屏使用slide

预期结果:

slide 宽度显示正常

实际结果:

slide 宽度显示异常

bug描述:

Slider 在横屏的情况下进度开始前UI布局是正常的,当进度加载完成时,进度条显示不全。

2024-10-14 19:57 负责人:无 分享
已邀请:
DCloud_UNI_OttoJi

DCloud_UNI_OttoJi - 日常回复 uni-app/x 问题,如果艾特我没看到,请主动私信

展示不全有截图吗,比提供一下单页面源码吧,是滑块很长屏幕挡住了吗

补充:
附上交流过程中测试 nvue + pages.json 设置屏幕旋转为 auto 的结果。测试nvue 并尝试添加 v-if 来测试 slider 自增的情况

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

    可以用官网的slide页面源码。创建一个nvue的页面。nvue界面设置横屏,可以必现这个问题。

    2024-10-15 17:25

  • DCloud_UNI_OttoJi

    回复 2***@qq.com: 私聊沟通中

    2024-10-17 15:25

2***@qq.com

2***@qq.com (作者)

nvue页面存在问题,vue页面横屏正常。

  • DCloud_UNI_OttoJi

    交流中还提到了 plus api,提供一下单页面源码或者复现工程吧,说明基础的 uni-app 空项目如何复现你到问题

    2024-10-18 11:42

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

    回复 DCloud_UNI_OttoJi: 代码已上传

    2024-10-24 20:14

  • DCloud_UNI_OttoJi

    回复 2***@qq.com: 在后续的交流中提供了兼容建议,在这个场景里使用 vue 组件,不使用 nvue

    2024-10-25 11:49

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

    回复 DCloud_UNI_OttoJi: 在cover-view 中tips介绍在App端,如果重度使用video和map,推荐使用nvue页面。

    2024-10-25 15:44

要回复问题请先登录注册