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

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 如何使用simulink建立一个永磁同步直线电机模型?
  • ¥30 天体光谱图的的绘制并得到星表
  • ¥15 PointNet++的onnx模型只能使用一次
  • ¥20 西南科技大学数字信号处理
  • ¥15 有两个非常“自以为是”烦人的问题急期待大家解决!
  • ¥30 STM32 INMP441无法读取数据
  • ¥15 R语言绘制密度图,一个密度曲线内fill不同颜色如何实现
  • ¥100 求汇川机器人IRCB300控制器和示教器同版本升级固件文件升级包
  • ¥15 用visualstudio2022创建vue项目后无法启动
  • ¥15 x趋于0时tanx-sinx极限可以拆开算吗