iview的table 组件展开事件能否绑定到其他事件上?看这里!

简介: iview的table 组件展开事件能否绑定到其他事件上?看这里!

20190719114135105.png


许多小伙伴在使用iview的table表格展开列的时候可能会碰到一个问题,就是它的列展开事件能否去绑定到你正在点击当前列的某一个自定义按钮上呢?

 

20190719114344134.png

去查看官网的时候,官网文档也只说了个有个属性_expanded 设置为true 的情况下可以打开当前列。


不过百度了下发现大多数人还是不清楚如何让两者进行联动。事件进行绑定呢?


首先。我们先要去项vue的的原理是什么?


数据驱动视图。


当我们要改变某一个显示的时候我们则要改变的是某一个数据,而不是强加绑定事件。


当然你要是找到事件也行。如果找不到的情况下,我们可以通过数据改变来进行默认展开某一列。当然很多人已经试过了直接给某一列数据加上 _expanded :true 改变是没有作用的。


是因为,你当前数据已经被渲染上了,而表格的渲染则需要你重新调用表格更新方法。


当你的表格更新是默认放在created 或者其他页面一加载就出现的属性的时候,这时候你则需要去改变当前的data数据,也就是你当前表格绑定的数据。


首先,深拷贝当前table 数据到一个新数组。


然后将当前的新数组中你正在点击列的 _expanded  属性改成true


然后将这个新数组重新赋值给data。


这时候你再去试就会发现效果触发了。


其实原理很简单。就是,当你点击某一列按钮的时候 去重置了整个表格的data,也相当于调用了新的数据获取方法。


这时候属性才是生效的。


public addCallHost(params) {
    let arr = [];
    this.data.forEach(element => {
      arr.push(element);
    });
    arr[0]._expanded = true;
    this.data = arr;
}


目录
相关文章
|
Docker 容器
Star 1.8k! 推荐一款更优雅的微信文章订阅工具,让阅读更便捷!
Star 1.8k! 推荐一款更优雅的微信文章订阅工具,让阅读更便捷!
278 3
|
9月前
|
机器学习/深度学习 人工智能 算法
深度学习用于求解车间调度问题,性能如何呢?
基于深度学习来求解车间调度问题,不仅求解速度快,求解的质量也越来越好
429 24
|
存储 关系型数据库 MySQL
四种数据库对比MySQL、PostgreSQL、ClickHouse、MongoDB——特点、性能、扩展性、安全性、适用场景
四种数据库对比 MySQL、PostgreSQL、ClickHouse、MongoDB——特点、性能、扩展性、安全性、适用场景
|
监控 搜索推荐 Go
万字详解!在 Go 语言中操作 ElasticSearch
本文档通过示例代码详细介绍了如何在Go应用中使用`olivere/elastic`库,涵盖了从连接到Elasticsearch、管理索引到执行复杂查询的整个流程。
399 0
|
小程序
微信小程序实现点击复制(wx.setClipboardData)
微信小程序实现点击复制(wx.setClipboardData)
482 0
|
SQL JSON 数据库
常见的sql注入类型闭合及符号
常见的sql注入类型闭合及符号
534 0
|
弹性计算 负载均衡 网络安全
阿里云弹性EIP和固定公网IP的区别
阿里云弹性公网IP(EIP)和固定IP均可以提供外网访问服务,那么二者有什么区别呢?
6305 0
阿里云弹性EIP和固定公网IP的区别
|
应用服务中间件 Linux nginx
centos下nginx启动、重启、关闭
学习linux使用nginx笔记
75487 0
|
存储 数据处理 计算机视觉
【小白必看】Python词云生成器详细解析及代码实现
【小白必看】Python词云生成器详细解析及代码实现
1004 1
springboot引入本地jar包,并且打jar包时包含本地jar
springboot引入本地jar包,并且打jar包时包含本地jar
389 0