在uni-drawer中uni-app collapse配置默认打开不生效 只有箭头向上表示打开生效但是内容却不展开

在uni-drawer中uni-app collapse配置默认打开不生效 只有箭头向上表示打开生效但是内容却不展开

项目信息 详细信息
产品分类 uniapp/小程序/微信
PC开发环境 Windows
操作系统版本 win11家庭版 22621.2428
第三方工具 1.06.2310071
基础库版本 3.1.2
项目创建方式 CLI
CLI版本 3.0.0-3090420231025001

操作步骤:

如上描述

预期结果:

打开uni-drawer后,如果配置了value的绑定数组,折叠面板应该默认打开对应项内容

实际结果:

折叠面板对应项的箭头表示打开了,实际上内容没展开

bug描述:

【报Bug】uniapp微信小程序中,在uni-drawer中uni-appcollapse配置默认打开不生效 (只有箭头向上了表示打开了,但是实际上内容却不展开)绑定的value值设为 [‘0’, ‘1’],代码如下:

<!-- 折叠面板 -->  
<view class="collapse">  
  <uni-collapse ref="collapse" :value="collapseValue">  
    <uni-collapse-item title="A知识点统计">  
      <view class="content">  
        <text>1222</text>  
      </view>  
    </uni-collapse-item>  
    <uni-collapse-item title="B知识点统计">  
      <view class="content">  
        <view class="info-content" v-for="(item, index) in 50" :key="index">  
          <text>B内容笔记 {{ item }}</text>  
        </view>  
      </view>  
    </uni-collapse-item>  
  </uni-collapse>  
</view>


更多关于在uni-drawer中uni-app collapse配置默认打开不生效 只有箭头向上表示打开生效但是内容却不展开的实战教程也可以访问 https://www.itying.com/category-93-b0.html

5 回复

我在H5端测试没问题,那应该要去微信平台那里反馈这个bug了

更多关于在uni-drawer中uni-app collapse配置默认打开不生效 只有箭头向上表示打开生效但是内容却不展开的实战教程也可以访问 https://www.itying.com/category-93-b0.html


试过没 // #ifdef MP-WEIXIN this.$nextTick(() => { this.$refs.collapse.resize() }) // #endif

我试了,这个不属于动态加载数据的范畴,最后是重新打开项目,就好了

h5用这个组件遇到了同样问题

uni-app 中使用 uni-draweruni-collapse 时,如果你想默认打开某个 uni-collapse-item,可以通过设置 uni-collapse-itemopen 属性来实现。如果设置后默认打开不生效,可能是由于以下原因:

1. open 属性未正确设置

确保你在 uni-collapse-item 中正确设置了 open 属性,并且该属性的值为 true

<uni-collapse>
  <uni-collapse-item title="标题1" open="true">
    <view>内容1</view>
  </uni-collapse-item>
  <uni-collapse-item title="标题2">
    <view>内容2</view>
  </uni-collapse-item>
</uni-collapse>

2. uni-collapseaccordion 属性

如果 uni-collapseaccordion 属性设置为 true,则每次只能展开一个 uni-collapse-item。如果你希望默认打开多个 uni-collapse-item,需要将 accordion 属性设置为 false

<uni-collapse :accordion="false">
  <uni-collapse-item title="标题1" open="true">
    <view>内容1</view>
  </uni-collapse-item>
  <uni-collapse-item title="标题2" open="true">
    <view>内容2</view>
  </uni-collapse-item>
</uni-collapse>

3. 动态设置 open 属性

如果你需要动态设置 open 属性,可以通过 v-modelref 来控制 uni-collapse-item 的展开状态。

<template>
  <uni-collapse>
    <uni-collapse-item :title="item.title" :open="item.open" v-for="(item, index) in items" :key="index">
      <view>{{ item.content }}</view>
    </uni-collapse-item>
  </uni-collapse>
</template>

<script>
export default {
  data() {
    return {
      items: [
        { title: '标题1', content: '内容1', open: true },
        { title: '标题2', content: '内容2', open: false }
      ]
    };
  }
};
</script>

4. 检查组件版本

确保你使用的 uni-ui 组件库是最新版本,旧版本可能存在一些 bug 或功能不完善的情况。

5. 样式问题

有时候,内容展开但样式未正确显示,可能是由于样式冲突或未正确加载。检查一下是否有自定义样式影响了 uni-collapse-item 的显示。

6. 使用 ref 手动控制

如果以上方法都不奏效,你可以通过 ref 手动控制 uni-collapse-item 的展开状态。

<template>
  <uni-collapse ref="collapse">
    <uni-collapse-item title="标题1" ref="item1">
      <view>内容1</view>
    </uni-collapse-item>
    <uni-collapse-item title="标题2">
      <view>内容2</view>
    </uni-collapse-item>
  </uni-collapse>
</template>

<script>
export default {
  mounted() {
    this.$refs.item1.open(); // 手动打开第一个折叠项
  }
};
</script>
回到顶部