l***@163.com
l***@163.com
  • 发布:2025-01-25 17:57
  • 更新:2025-09-11 17:12
  • 阅读:313

uni-collapse不能折叠吗

分类:uni-app

比如

<uni-collapse v-model="isOpen">

在某个按钮中设置 isOpen = ["0"]可以正常展开折叠面板,但设置siOpen=Null 或 [] 并不会触发折叠,怎么回事。

2025-01-25 17:57 负责人:DCloud_UNI_JBB 分享
已邀请:

最佳回复

DCloud_UNI_JBB

DCloud_UNI_JBB

uni-collapse 1.4.7 版本已修复此问题,可升级到此版本

w***@163.com

w***@163.com

uni-collapse 第81行

                    if (arr) {  
                        val.forEach(v => {  
                            if (v === vm.nameSync) {  
                                if (this.accordion) {  
                                    console.warn('accordion 属性为 true ,v-model 类型应该为 string')  
                                    return  
                                }  
                                vm.isOpen = true  
                            }  
                        })  
                    }

这里需要修改一下

    if (arr) {  
                        if (val.find(v => v === vm.nameSync)) {  
                            vm.isOpen = true  
                        } else {  
                            vm.isOpen = false  
                        }  
}  
DCloud_UNI_JBB

DCloud_UNI_JBB

你的 uni-collapse 插件版本是多少?哪个端出现了这个问题

  • w***@163.com

    最新版本。这里有明显的BUG,v-model如果是Array, 比如v-model="['0','1']", 可以将这两个展开。之后设置成v-model="[]", 这展开的两个就不能收缩了。

    2025-09-02 14:32

  • DCloud_UNI_JBB

    回复 w***@163.com: 哪个端?

    2025-09-02 14:34

  • w***@163.com

    回复 DCloud_UNI_JBB: 至少APP端是这个表现

    2025-09-02 16:49

  • DCloud_UNI_JBB

    回复 w***@163.com: 1.4.5 版本,我测试,app,小程序,web都没问题了

    2025-09-02 17:20

  • w***@163.com

    回复 DCloud_UNI_JBB: 哦,是的。我的是两个月前的最新版,我看了一下是1.4.4

    2025-09-02 17:36

  • DCloud_UNI_JBB

    回复 w***@163.com: 可以升级到1.4.5

    2025-09-02 17:46

1***@qq.com

1***@qq.com

升级到 1.4.6 了,还是不好使,并且我在 data 中声明一个 collapseArray: [],我用一个按钮事件点击的时候 this.collapseArray.push('key1') 直接就报错了:this.collapseArray.push is not a function,data 中明确指定类型是空数组了;

  • DCloud_UNI_JBB

    发一下你的代码

    2025-09-11 15:48

  • 1***@qq.com

    回复 DCloud_UNI_JBB:


    <template>

    <view>

    <uni-collapse ref="collapse" v-model="collapseArray">

    <uni-collapse-item name="key1" title="默认开启">

    <text>折叠内容</text>

    </uni-collapse-item>

    </uni-collapse>

    <view @click="updateCollapse">更新折叠状态</view>

    </view>

    </template>


    <script>

    export default {

    data() {

    return {

    collapseArray: []

    }

    },

    methods: {

    updateCollapse() {

    if (this.collapseArray.length > 0) {

    this.collapseArray.splice(0, 1)

    } else {

    this.collapseArray.push('key1')

    }

    }

    }

    }

    </script>


    <style>

    </style>

    2025-09-11 16:01

  • DCloud_UNI_JBB

    回复 1***@qq.com: 我这里在web平台测试并没有复现报错,功能确实有问题,方便发一下你的报错吗?

    2025-09-11 16:18

  • DCloud_UNI_JBB

    回复 DCloud_UNI_JBB: 值更新页面没效果的问题我修复了,可升级到 1.4.7

    2025-09-11 16:35

  • 1***@qq.com

    回复 DCloud_UNI_JBB: 第一点击更新折叠状态就会报错: Error in v-on handler: "TypeError: this.collapseArray.push is not a function"

    2025-09-11 16:35

  • 1***@qq.com

    回复 DCloud_UNI_JBB: 好的,我等下试试

    2025-09-11 16:36

  • DCloud_UNI_JBB

    回复 1***@qq.com: 什么端,方便在im中发个截图吗?我测试并没有发现这个报错

    2025-09-11 16:40

  • 1***@qq.com

    回复 DCloud_UNI_JBB: h5,就正常运行到 Chrome

    2025-09-11 16:44

  • DCloud_UNI_JBB

    回复 1***@qq.com: 1.4.6版本,你上面的我测试并没有任何报错

    2025-09-11 17:04

1***@qq.com

1***@qq.com

你运行起来,点下更新折叠状态按钮,我运行起来一点就报图片上的错;

DCloud_UNI_JBB

DCloud_UNI_JBB

我运行起来没报错

  • 1***@qq.com

    运行起来,点击 更新折叠状态

    2025-09-11 17:32

  • DCloud_UNI_JBB

    回复 1***@qq.com: 点了也没报错

    2025-09-11 17:43

  • 1***@qq.com

    回复 DCloud_UNI_JBB: 这个跟运行环境有关系吗,我这是 Mac,HBuilder X 4,76,uni-collapse 1.47

    2025-09-12 08:34

  • DCloud_UNI_JBB

    回复 1***@qq.com: 没关系,你试试其他端呢

    2025-09-12 10:03

要回复问题请先登录注册