使⽤element-ui组件el-table时需要修改某⼀⾏或列的样式(包含
解决选择器⽆效问题)
在后台管理系统项⽬中,经常会使⽤element-ui中的组件el-table(表格)来展⽰列表数据。
当展⽰数据的时候,可能就需要给给某⼀⾏或者列设置特殊的样式,在查询⽂档是我遇到了⼀些问题:包括设置某⼀⾏或列样式的⽅式;包括设置指定类名后选择器⽆效问题。。。。
⾸先介绍⼀下,我的项⽬需求是列表中展⽰详细信息的⼀列,最多只展⽰两⾏数据,超出时使⽤...表⽰。 实现结果如下图所⽰:
下⾯介绍⼀下实现⽅式:
⽅法⼀(不推荐,复杂、⽽且表格稍有错位):
1.查阅element-ui官⽅⽂档后我们发现有如下属性:
2.为表格添加该属性,并指定函数名:
3.在methods中定义addClass⽅法,给“详细信息”列添加类名:
4.在中设置指定css样式:
在经过以上步骤后,本以为就应该是实现了需求,但是查看页⾯后发现,并没有成功!!!!!
这时点开控制台发现,类名已经添加成功了,但是选择器样式却⽆效。。。。。。
害我查了好久的资料o(╥﹏╥)o,才知道有以下解决办法——使⽤全局属性:
在elementUI中,row-class-name、row-style、cell-class-name等属性要想⽣效必须使⽤全局class才能⽣效。因为之前的代码都是在组件中编写的,所以去除中的scoped即可该组件中的样式变为全局属性。 再看上⾯的代码,我将选择器定义在了局部:
5.修改为全局样式:
所以就再单独写⼀个标签书写全局样式即可:
⾄此,我们就实现了预期的效果:
⽅法⼆(推荐,简单且显⽰正常):
下⾯我们介绍⼀种简单易⾏的⽅法——使⽤
如上图所⽰,使⽤并给其添加scope属性,再内嵌⼀层设置有相应类名的包裹要展⽰的内容。当然,编写相应的CSS属性选择器也是必须的,与⽅法⼀选择器内容相同。
这样就可以了,超级简单!!!效果图就不展⽰了,反正没有错位~~~