uni-section怎么实现点击一个另一个折叠
时间: 2024-05-10 12:20:58 浏览: 191
要实现点击一个 uni-section 折叠另一个,可以使用以下步骤:
1. 在需要实现折叠效果的 uni-section 上添加一个点击事件绑定,例如 @click="toggleSection(index)",其中 index 表示当前 uni-section 的索引。
2. 在 toggleSection 方法中,记录当前被点击的 uni-section 索引,并更新一个状态变量 openIndex,用于记录当前处于打开状态的 uni-section 索引。
3. 在 uni-section 的模板中,通过 v-if 绑定判断当前 uni-section 是否应该处于打开状态,例如 v-if="openIndex === index"。
4. 如果 openIndex 不等于当前被点击的 uni-section 索引,那么就将 openIndex 更改为当前被点击的 uni-section 索引,实现折叠效果。
下面是一个简单的示例代码:
```
<template>
<view>
<uni-section v-for="(item, index) in items" :key="index" :title="item.title" :show-arrow="true"
@click="toggleSection(index)">
<view v-if="openIndex === index">
{{ item.content }}
</view>
</uni-section>
</view>
</template>
<script>
export default {
data() {
return {
items: [
{
title: 'Section 1',
content: 'Content 1'
},
{
title: 'Section 2',
content: 'Content 2'
},
{
title: 'Section 3',
content: 'Content 3'
}
],
openIndex: -1
}
},
methods: {
toggleSection(index) {
if (this.openIndex === index) {
this.openIndex = -1;
} else {
this.openIndex = index;
}
}
}
}
</script>
```
阅读全文