element ui 树组件怎么让叶子节点没有下拉框和loading状态

发布于 2022-09-11 22:56:25 字数 115 浏览 7 评论 0

error.png

如图所示.当他是根节点的时候不显示下拉框小三角?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

溺渁∝ 2022-09-18 22:56:25

props有这个isLeaf参数,设置isLeaf为true就好了

灼疼热情 2022-09-18 22:56:25

你看官网的 树形控件懒加载

由于在点击节点时才进行该层数据的获取,默认情况下 Tree 无法预知某个节点是否为叶子节点,所以会为每个节点添加一个下拉按钮,如果节点没有下层数据,则点击后下拉按钮会消失。同时,你也可以提前告知 Tree 某个节点是否为叶子节点,从而避免在叶子节点前渲染下拉按钮。

在加载方法里resolve()是必须调用的,不然就会一直有loading转圈

如果能直接知道是不是根节点的话就在根结点加一个leaf: true就不会出现下拉按钮

  loadNode(node, resolve) {
    if (node.level === 0) {
      return resolve([{ name: '最外层' }])
    }
    // 你的异步方法
    let response = ajax(.....)
    response.then(res => {
      // 根据返回值封装data
      let data = []
      // data = res
      // 如果已经第三层以上就是根结点
      if (node.level > 3) {
        data.forEach(item => {
          item.leaf = true
        })
      }
      resolve(data)
    })
  }

如果需要再次点击加载才能知道是不是根结点的话,那就加载方法里判断当前点击的是不是根结点,是的话调用return resolve([])返回一个空数组,下拉按钮就会消失

  loadNode(node, resolve) {
    if (node.level === 0) {
      return resolve([{ name: '最外层' }])
    }
    // 你的异步方法
    let response = ajax(.....)
    response.then(res => {
      // 判断是根结点
      if (res.leaf) return resolve([])
      // 根据返回值封装data
      let data = []
      // data = res
      resolve(data)
    })
  }
顾铮苏瑾 2022-09-18 22:56:25

有人吗?来个人

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文