最近项目有个需求针对到el-table这个组件。自己也是第一次这样来使用,特写下这两篇文章,算是当做记录吧!如果是从第一次使用elementUI的话,可以移步另一篇文章作为参考~
产品需求样式
效果图
技术点
- 既想用elementUI的table样式和功能,简单的
<tr><th><td>
是不能满足的 - 在使用element-ui的el-table组件时,最普遍的做法就是使用el-table-column;其中columns对应el-table-column Attributes,props对应el-table Attributes,el-table原有事件照原先用法使用即可;
- 在需要用到Scoped slot时,需要创建el-table-column,并在其中加入template标签(用法:/…/)
- 插槽使用具名插槽和作用域插槽slot=“header”和slot-scope=“scope”
源码
<div class="main_top">
<img src="@/assets/big/Basic_Info.png" alt />
基本信息
</div>
<el-table :data="tableData" border style="width: 100%; margin-top: 20px"
:header-cell-style="{'background':'rgba(0,0,0,0)','font-weight':'500'}" >
<el-table-column prop="name" label="优惠券品类" width="240" ></el-table-column>
<el-table-column>
<template slot="header" slot-scope="scope">
<span>TEST</span>
</template>
<template slot-scope="scope">
<span>{{scope.row.value}}</span>
</template>
</el-table-column>
<el-table-column prop="names" label="优惠券名称" width="240"></el-table-column>
<el-table-column>
<template slot="header" slot-scope="scope">
<span >TEST</span>
</template>
<template slot-scope="scope">
<span>{{scope.row.values}}</span>
</template>
</el-table-column>
</el-table>
mounted() {
this.tableDatas = [];
this.tableData = [];
this.tableData.push({
name: "优惠券类型",
value:'TEST', //注意值为value
names: "优惠券说明",
values:'TEST', //注意值为values
}, {
name: "优惠内容",
value:'TEST',
names: "授权用户",
values:'TEST',
},
{
name: "可用时间",
value:'TEST',
}
);
}
注意点
- 两列数据值为value和values,否则会出现两列四行渲染的效果
- 取消首行样式可参考
:header-cell-style="{'background':'rgba(0,0,0,0)','font-weight':'500'}"
或者:header-cell-style="{'background':'rgba(0,0,0,0)'}"