小程序点击显示隐藏列表内容
效果图如下:
首先用v-for去遍历数组,将index取出,然后将这个数组进行渲染。
拿到index之后,我们需要写一个方法,对这个index进行一些处理。
我们这里可以在这个 “<” icon中去设置一个方法,比如 openList(index),别忘记将index传入
在data中随意建立一个数组,比如 arr: []
这样在methods中我们可以这样去写这个方法:
openList(index) {
let _index = this.arr.indexOf(index);
if (_index > -1) {
this.arr.splice(_index, 1)
} else {
this.arr = [index]
}
}
我第一次想法是将每次点击不同的index都添加进数组里,这样可以同时展开多个数组,如下
首先设置一个变量,将它赋值成这个数组第一次出现这个index的位置。
之后判断,如果这个位置有元素,那么indexOf的返回值一定是大于-1的,这个时候就应该在数组中删除这个元素,也就是删除这个元素第一次出现的位置上所在的元素。
之后用arr.push(index)将这个元素push进数组中,
在页面page中v-show就可以这样去判断 v-show=" arr.indexOf(index) > -1";
但是在小程序中,目前不支持在wxml中实现indexOf方法,所以只能退而却其次,每次只能打开一个页面,
这样就直接将arr赋值成传下来的index,
这样页面page中的v-show就这样去判断 v-show=" arr.length > 0 && arr[0] = index"
这样就可以实现上面的效果
请发表评论