javascript - 当我单击它们然后将该数据传递到我的变量时如何获取特定树节点的 ID

标签 javascript dom vuejs2 quasar-framework

我是 Quasar 和 Vue 的新手。有人可以向我解释如何解决我的任务吗?

任务简介:

(1) 我有一个 q-tree 元素,它代表屏幕左侧的文件夹结构 [ref.1]

(2) 这是文件夹结构 [ref.2]

(3) 当用户点击此文件夹结构中的任何元素时,他将在右侧看到一个新组件,其中点击组件的所有子元素均采用网格布局。

这就是我现在拥有的。

[ref.1] treeComponent.vue

<template>
  <q-tree
    :nodes="documents"
    @click="getId"
    node-key="id" >
  </q-tree>
</template>

<script>
var documents = require('./documents')
module.exports = {
  data: function () {
    return {
      selectedDoc: x,
      documents: documents
    }
  },
  methods: {
    getId: function () {
      const x = this.getNodeByKey('id')
      consol.log(x)
    }
  }
}
</script>

[ref.2] 文档.js

module.exports = [
  {
    id: '1',
    label: 'My Documents',
    icon: 'folder',
    children: [
      {
        id: '01',
        label: 'Dir 1',
        children: [
          { id: '0001', label: 'Doc 1'},
          { id: '0002', label: 'Doc 2'}
        ]
      },
      {
        id: '02',
        label: 'Dir 2',
        children: [
          { id: '0003', label: 'Doc 3'},
          { id: '0004', label: 'Doc 4'}
        ]
      },
      {
        id: '103',
        label: 'Dir 3',
        children: [
          { id: '0005', label: 'Doc 5'},
          { id: '0006', label: 'Doc 6'},
          { id: '0007', label: 'Doc 7'}
        ]
      }
    ]
}
]

最佳答案

您需要用键替换 id。在此之后为每个节点添加此处理程序

handler: (node) => this.onclick(node)

然后在methods中添加这个方法

onclick(node) {
  alert(node.key)
},

这将显示特定节点的 id

关于javascript - 当我单击它们然后将该数据传递到我的变量时如何获取特定树节点的 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52327472/

相关文章:

javascript - 如何使用 angularjs 以表格格式打印数组?

javascript - jQuery 无法获得良好格式的 Id

javascript - 如何使用同一子域上的 URL 访问 iframe 的元素?

javascript - Vue.js 2.0 在一个项目上渲染相同的组件,但不在另一个项目上渲染

javascript - 浏览器显示缓存的 img 而不是新的

javascript - 如何为模型中的相似记录设置另一个名称,以便进一步与 ext js 中的表单字段绑定(bind)?

javascript - 在函数内声明变量的不同方式——它们有何不同?

javascript - 如何在使用 cloneNode(true) 后维护正确的 Javascript 事件

javascript - vue - 删除最新的子路径

javascript - 如何在 vue.js 的 v-model 中正确应用三元运算符?