【记一下】ElementUI 中table 设置默认筛选

本文介绍了如何在 ElementUI 的 Table 组件中设置默认筛选,以实现更人性化的用户界面,例如一键预览功能。通过代码示例展示了如何将第四列的值设为'家'作为默认筛选条件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考链接
elementui官网table使用demo链接

【记一下】ElementUI 中table 设置默认筛选

【需求】 为table表实现快捷操作, 如通知用户某项数据达到预警值, 一键预览功能(实际对用户更人性化设计)

【代码】

/** 设置某一列默认过滤
* 封装好的方法(this.$refs.table => 指向table)
* @param col 列数 第几列(1开始)
* @param val 过滤值 类型是数组(里面的值类型需匹配)
*/
setDefaultFilter(col, val) {
   
   
      const column = this.$refs.table
### 修改 ElementUI 表格组件的 Filters 属性 为了实现单选筛选效果并隐藏重置按钮,可以调整 `filterMultiple` 的值为 `false` 来禁用多选功能。同时,通过自定义过滤逻辑来控制筛选行为,并利用插槽或其他方式移除重置按钮。 以下是具体实现方法: #### 配置 `filterMultiple` 实现单选 在表格列配置中,将 `filterMultiple` 设置为 `false` 可以启用单选模式[^1]。 ```javascript const columns = [ { prop: 'status', label: '状态', filters: [ { text: '已激活', value: 'active' }, { text: '未激活', value: 'inactive' } ], filterMultiple: false, // 启用单选 filterMethod: (value, row) => row.status === value, } ]; ``` #### 移除重置按钮 Element UI 并不提供直接的参数用于隐藏重置按钮,因此可以通过覆盖样式或者完全自定义筛选区域的方式解决此问题[^2]。 ##### 方法一:使用 CSS 覆盖样式 通过设置 `.el-table-filter__bottom` 类的显示属性为 `none`,可以隐藏底部的操作栏(包括确认和重置按钮)。 ```css .el-table-filter__bottom { display: none; } ``` ##### 方法二:自定义筛选部分 借助 `action` 插槽来自定义筛选区域的内容,从而完全移除默认操作按钮。 ```vue <template> <el-table :data="tableData"> <el-table-column prop="status" label="状态"> <template v-slot:header="{ column }"> <!-- 自定义表头 --> <div class="custom-header">{{ column.label }}</div> </template> <template v-slot:action> <!-- 自定义筛选部分 --> <div class="custom-filters"> <el-radio-group v-model="selectedFilter"> <el-radio-button label="active">已激活</el-radio-button> <el-radio-button label="inactive">未激活</el-radio-button> </el-radio-group> </div> </template> </el-table-column> </el-table> </template> <script> export default { data() { return { selectedFilter: '', tableData: [ { status: 'active' }, { status: 'inactive' } ] }; }, watch: { selectedFilter(newVal) { this.tableData.forEach(row => { row._show = newVal ? row.status === newVal : true; // 控制行显示 }); } } }; </script> ``` #### 自定义 `filter-method` 如果需要更复杂的筛选逻辑,可以在 `filterMethod` 中编写自定义函数。 ```javascript filterMethod(value, row) { return row.status.includes(value); // 或者其他复杂条件判断 } ``` --- ### 总结 上述方案提供了多种途径来满足需求: - 使用 `filterMultiple: false` 实现单选筛选。 - 利用 CSS 或插槽机制隐藏重置按钮。 - 定义灵活的 `filterMethod` 函数支持个性化筛选逻辑。 ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值