027-87227388

小程序点击显示隐藏

发布时间:2020-12-21 浏览:101

  效果图如下:

  

  首先用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"

  这样就可以实现上面的效果