x***@dicastal.com
x***@dicastal.com
  • 发布:2022-01-11 09:16
  • 更新:2022-06-24 16:42
  • 阅读:1242

【报Bug】在vue页面使用uni-grid宫格组件,如果list是变量,在第二次打开宫格页面时展示的列数会减1显示

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

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

HBuilderX类型: 正式

HBuilderX版本号: 3.2.16

手机系统: Android

手机系统版本号: Android 10

手机厂商: 华为

手机机型: MED-AL00

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

操作步骤:
<uni-grid :column="3" :highlight="true" @change="change">  
    <uni-grid-item v-for="(item, index) in list" :index="index" :key="index">  
        <view class="grid-item-box">  
            <image :src="item.url" class="image" mode="aspectFill" />  
            <text class="text">{{ item.text }}</text>  
        </view>  
    </uni-grid-item>  
</uni-grid>  

在vue页面中实现,将list改为变量

预期结果:

正常三列显示

实际结果:

在第二次打开宫格页面时,仅显示两列

bug描述:

在vue页面使用uni-grid宫格组件,如果uni-grid-item中循环的list是变量,在第二次打开宫格页面时展示的列数会减1显示。

2022-01-11 09:16 负责人:DCloud_UNI_HT 分享
已邀请:
DCloud_UNI_HT

DCloud_UNI_HT

第二次打开指是的 打开新页面 ,还是显示页面?

  • x***@dicastal.com (作者)

    第二次打开指的是 显示页面,也就是从当前宫格页面返回上一层,再进入当前宫格页面时。附件中有视频示例

    2022-02-24 14:46

  • x***@dicastal.com (作者)

    根据用户反映,不止该手机机型有这个问题,不少手机机型都存在。

    2022-02-24 14:49

  • 3***@qq.com

    回复 x***@dicastal.com: 碰到同样问题了,奇葩

    2022-04-18 21:42

  • 3***@qq.com

    回复 x***@dicastal.com: 解决了吗?

    2022-04-18 21:43

  • x***@dicastal.com (作者)

    回复 3***@qq.com: 没解决,正常用着呢,你解决了吗?

    2022-11-21 13:48

tuonioooo

tuonioooo

源码 里面需要 修改一下 在nvue 情况下 如果页面跳转 会导致 宽度获取不到 需要重新做一下处理

// #ifdef APP-NVUE
dom.getComponentRect(this.$refs['b-grid'], (ret) => {
//特殊情况处理 cell 循环下获取不到元素的宽度
if(ret.size.width > 0){
firstWidth = ret.size.width;
}
this.width = parseInt((firstWidth - 1) / this.column) + 'px'
fn(this.width)
})
// #endif

普通vue 页面跳转如果深度是2层 在返回时 ,可能宽度为0了 还的需要处理 因为我只是满足我自己的需求 没有做夸多端的校验 不贴代码了

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