2018-11-06 vue-element-treetable使用展开和收起

1.需求:通过点击事件使treetable展开和收缩

image.png

通过点击展开按钮将treetable的数据放开,收缩相反
2.道具
借用https://www.jianshu.com/writer#/notebooks/26491972/notes/36356347这里的插件
代码大体思路:
父组件
image.png

子组件
借用插件index.vue的代码思路
// 切换下级是否展开
toggleExpanded: function(trIndex) {
const record = this.formatData[trIndex]
record._expanded = !record._expanded
}

watch监听expandAll

expandAll(nVal) {
if (nVal) {
// 格式化数据源this.formatData,遍历此数据
this.formatData.forEach((record) => {
record._expanded = true
})
} else {
this.formatData.forEach((record) => {
record._expanded = false
})
}
}


image.png

后续:
但是以上的方法只能点击全部展开和全部收起有用处,如果需求要去以下两种,则
全部收起:


image.png

全部展开
image.png

父组件:


image.png

子组件

image.png

代码:
父组件:
case 'doAll'://点击事件 (全部展开)
// this.expandAll = "false2" 为第三者声明;
//第一次为引起变化,但是声明之后 子组件的判断条件为true 和false,之后则销毁
this.expandAll = "false2"
this.
nextTick(() => {//防止点击速度过快,使用
nextTick过渡缓冲
this.expandAll = "true"
})

        break
      case 'doUp':(全部收起)
        this.expandAll = "false2"
        this.$nextTick(() => {
          this.expandAll = "false"
        })
        break

ps:找了很多方案,在组长的帮助下成功解决啦
后续也是组长给的方法解决了~~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,188评论 19 139
  • 1、树与数组转换对应的目录如下图所示: 1、树与数组转换 /* * @Author: zhr */ import...
    08f1b6c52d2a阅读 26,637评论 8 3
  • 2017年5月19日 多云 昨晚被扔进了一场梦 大雨里纹丝不动 一个念头坚定 我不希望停 爱有倒映 不会冷 只等 虹
    鲜栗子阅读 1,306评论 0 0
  • 你身上有光,明明可以更亮,为何要遮住,甚至要亲手掐灭它?强大是经历并成长,又不是比谁的隐藏和伪装手段更高明...
    幻蝶仙子阅读 1,432评论 0 0
  • 我喜欢了三年的学长,居然和他考上一所初中了,但是他是多么的耀眼啊我对他的感情是多么遥不可及,每天都有成堆的...
    小仙女103阅读 2,271评论 0 1

友情链接更多精彩内容