<el-table
class="tableBox"
ref="elTable"
:data="tableData"
v-loading="tableloading"
stripe
border
row-key="conId"
@selection-change="handleSelectionChange"
@filter-change="filterChanged"
:header-cell-style="{ background: '#F5F7FA' }" style="font-size: 16px"
:row-style="{ height: '50px' }">
<el-table-column type="selection" reserve-selection width="55" align="center">
</el-table-column>
<el-table-column label="序号" align="center" type="index" width="80" fixed>
<template slot-scope="scope">
<span>{{ (form.current - 1) * form.size + scope.$index + 1 }}</span>
</template>
</el-table-column>
<el-table-column label="标题" show-overflow-tooltip min-width="400" column-key="title"
:filters="[{ text: '默认', value: '默认' }, { text: '不推荐', value: '不推荐' }, { text:
'推荐', value: '推荐' }]" :filter-method="filterHandler" fixed>
<template slot-scope="scope">
<span class="hot">HOT</span>
</template>
</el-table-column>
</el-table>
js部分:
filterHandler(value, row, column){
//const property = column['property'];
return row.type === value;
},
filterChanged(value){
//value是一个对象,其key值为通过在el-table-column中设置的column-key属性,标志哪一个列的过滤条
件,可用于区分哪一个列的筛选条件发生了改变。
//filterChanged函数和filter-method属性一般而言使用一个,前者可自定义筛选条件,如需要重新查库,则
比较适用,filter-method为el-table-column的属性函数,
//其绑定的函数内部逻辑为:遍历表格绑定的数据,匹配表格每一行是否满足筛选条件,然后返回,所以上述示
例中的filterTag、filterChanged函数其实会重复执行,不可在其内部调用后端接口,否则会发生调用死循环。
console.log(value.title) // {title:['默认','不推荐','推荐']}
//请求接口
this.getlist()
},