element-ui table表头怎样筛选并修改筛选图标的样式

打印 上一主题 下一主题

主题 1944|帖子 1944|积分 5832

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. <template>
  2.   <el-button @click="resetDateFilter">reset date filter</el-button>
  3.   <el-button @click="clearFilter">reset all filters</el-button>
  4.   <el-table ref="tableRef" row-key="date" class="m-table" :data="tableData" style="width: 100%">
  5.     <el-table-column
  6.       prop="date"
  7.       label="Date"
  8.       width="180"
  9.       column-key="date"
  10.       :filters="[
  11.         { text: '2016-05-01', value: '2016-05-01' },
  12.         { text: '2016-05-02', value: '2016-05-02' },
  13.         { text: '2016-05-03', value: '2016-05-03' },
  14.         { text: '2016-05-04', value: '2016-05-04' }
  15.       ]"
  16.       :filter-method="filterHandler"
  17.     />
  18.     <el-table-column prop="name" label="Name" width="180" />
  19.     <el-table-column prop="address" label="Address" :formatter="formatter" />
  20.     <el-table-column
  21.       prop="tag"
  22.       label="Tag"
  23.       width="100"
  24.       :filters="[
  25.         { text: 'Home', value: 'Home' },
  26.         { text: 'Office', value: 'Office' }
  27.       ]"
  28.       :filter-method="filterTag"
  29.       filter-placement="bottom-end"
  30.     >
  31.       <template #default="scope">
  32.         <el-tag :type="scope.row.tag === 'Home' ? 'primary' : 'success'" disable-transitions>{{
  33.           scope.row.tag
  34.         }}</el-tag>
  35.       </template>
  36.     </el-table-column>
  37.   </el-table>
  38. </template>
  39. <script lang="ts" setup>
  40. import { ref } from 'vue'
  41. import type { TableColumnCtx, TableInstance } from 'element-plus'
  42. interface User {
  43.   date: string
  44.   name: string
  45.   address: string
  46.   tag: string
  47. }
  48. const tableRef = ref<TableInstance>()
  49. const resetDateFilter = () => {
  50.   tableRef.value!.clearFilter(['date'])
  51. }
  52. const clearFilter = () => {
  53.   tableRef.value!.clearFilter()
  54. }
  55. const formatter = (row: User, column: TableColumnCtx<User>) => {
  56.   return row.address
  57. }
  58. const filterTag = (value: string, row: User) => {
  59.   return row.tag === value
  60. }
  61. const filterHandler = (value: string, row: User, column: TableColumnCtx<User>) => {
  62.   const property = column['property']
  63.   return row[property] === value
  64. }
  65. const tableData: User[] = [
  66.   {
  67.     date: '2016-05-03',
  68.     name: 'Tom',
  69.     address: 'No. 189, Grove St, Los Angeles',
  70.     tag: 'Home'
  71.   },
  72.   {
  73.     date: '2016-05-02',
  74.     name: 'Tom',
  75.     address: 'No. 189, Grove St, Los Angeles',
  76.     tag: 'Office'
  77.   },
  78.   {
  79.     date: '2016-05-04',
  80.     name: 'Tom',
  81.     address: 'No. 189, Grove St, Los Angeles',
  82.     tag: 'Home'
  83.   },
  84.   {
  85.     date: '2016-05-01',
  86.     name: 'Tom',
  87.     address: 'No. 189, Grove St, Los Angeles',
  88.     tag: 'Office'
  89.   }
  90. ]
  91. </script>
  92. <style>
  93. .m-table .el-table__column-filter-trigger .el-icon {
  94.   display: none;
  95. }
  96. .m-table .el-table__column-filter-trigger::before {
  97.   content: '666';
  98.   color: red;
  99. }
  100. </style>
复制代码








人工智能学习网站
https://chat.xutongbao.top



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

知者何南

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表