easy-comps
Version:
基于element-ui、vue2的便于使用的封装组件
68 lines (62 loc) • 2.9 kB
Markdown
### 用法
```js
//使用范例 table内可以使用template去获得Table内的el-table实例,从而可以调用它的属性、方法等
<div class="table">
<Table :tableData="tableData" :tableColSettings="tableColSettings" :pagination.sync="pagination" :tableStyle="tableStyle" />
</div>
```
```js
// tableColSettings 用于设定table的每个列
tableColSettings: [
{
type: "", //设置column的样式:记得设置row-key和expand-row-keys,可选值selection/index/expand,不填或为空字符串时是一般显示
prop: "code",
label: "说明书文件编号",
width: "246",
align: "center",
//以上属性跟el-table-column的属性一一对应,其他el-table-column的属性均可设置
//comp:是指这一列要插入到scoped slot中的component,记得先import进来,import Test from "./test";将Test赋值给comp即可
//showComp为false时,comp可以不填
//showComp:为Boolean,true则显示comp在default slot处,false则不显示comp,而是使用table的默认显示,required
showComp: true,
comp: "如import进来的Test", //详见下面comp/header示例说明
showHeader:'xxx', //在列的header插入自定义组件
header:'自定义组件', //插入列的header的自定义组件
//handlers内所有的事件均传递comp对应的组件
handlers: {
clickHandler: clickHandler.bind(this),
},
others:'any', //传递给comp的其他属性
headerHandlers:{methods}, //与handlers类似,只是传递给header的handler
headerOthers:any //传递给header的其他属性
},
{
prop: "verNo",
label: "REV",
align: "center",
showComp: false,
},
],
```
```js
//comp或header,即可以用全局注册的SFC的名,也可是含render函数的option,或引入的SFC
//所有方式引入的组件均将获得table相应column的row/column/$index;
//也将获得handlers、headerHandlers、others等,所有方法均会被绑定引入该C_Table的组件
//全局注册的SFC的名
comp:'el-input'
//含render函数的option,this即组件实例,可通过其获得row/column/$index等
comp:{
render(h){
return h('span',this.row.status === 0 ? '未查看' : this.row.status === 1 ? '已查看' : '未知状态')
},
props:['row'],
mounted(){
console.log(this.myRow,'rowww')
},
computed:{
myRow(){return this.row}
}
}
//引入的SFC
comp:Test //记得先import进来,import Test from "./test";将Test赋值给comp即可
```