芒果不吃罐头 2020-05-29 11:40 采纳率: 50%
浏览 2559
已采纳

vue 点击下拉选项 展示不同的数据

1.想要的结果:
图片说明
现在的问题是:
点击项目工程,其他的标题也都跟着展示出来了
代码是这么写的

<group v-for="(item, index) in navData" :key="index">
<cell
:title="`${item.title}(${item.size})`"
:border-intent="false"
is-link
:arrow-direction="secondaryNodeShow ? 'up' : 'down'"
@click.native="secondaryNode(item, index)">
</cell>
 <template v-if="secondaryNodeShow"></template>
</group>

在data声明了一个 : secondaryNodeShow: false

secondaryNode (value, index) {
      console.log(value, index)
      this.secondaryNodeShow = !this.secondaryNodeShow
      // 通过点击的title和总的title做筛选 ,如果两个title相等 secondaryNodeShow = true else false
      // this.navData.filter(item => {
      //   // debugger
      //   if (item.title === value.title) {
      //     this.secondaryNodeShow = true
      //   } else {
      //     console.log(item.title)
      //     console.log(value.title)
      //     this.secondaryNodeShow = false
      //   }
      // })
      this.$http.get(`/mrData/list/${this.loginName}/${value.treeId}`, {}, res => {
        console.log(res)
        res.data.forEach(item => {
          item.avatar = this.$imgUrl + item.avatar
        })
        this.secondaryData = res.data
      })
    },
  • 写回答

3条回答 默认 最新

  • 我爱吃西瓜喵 2020-06-01 14:32
    关注

    将secondaryNodeShow用数组来存,secondaryNodeShow :[false,true] 遍历判断的时候通过secondaryNodeShow [index]来拿值就可以了


    :arrow-direction="secondaryNodeShow[index] ? 'up' : 'down'"

    data里声明 secondaryNodeShow:[false,false,false,false],这个长度可以根据数据的长度来写

    secondaryNode (value, index) {
          this.secondaryNodeShow[index] = !this.secondaryNodeShow[index]
          // 通过点击的title和总的title做筛选 ,如果两个title相等 secondaryNodeShow = true else false
          this.navData.filter((item,index) => {
          //   // debugger
            if (item.title === value.title) {
              this.secondaryNodeShow[index] = true
            } else {
               console.log(item.title)
              console.log(value.title)
              this.secondaryNodeShow[index] = false
            }
          })
          this.$http.get(`/mrData/list/${this.loginName}/${value.treeId}`, {}, res => {
            console.log(res)
            res.data.forEach(item => {
              item.avatar = this.$imgUrl + item.avatar
            })
            this.secondaryData = res.data
          })
        },
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 已采纳回答 3月1日

悬赏问题

  • ¥15 高德地图点聚合中Marker的位置无法实时更新
  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办