马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- <template>
- <el-button @click="resetDateFilter">reset date filter</el-button>
- <el-button @click="clearFilter">reset all filters</el-button>
- <el-table ref="tableRef" row-key="date" class="m-table" :data="tableData" style="width: 100%">
- <el-table-column
- prop="date"
- label="Date"
- width="180"
- column-key="date"
- :filters="[
- { text: '2016-05-01', value: '2016-05-01' },
- { text: '2016-05-02', value: '2016-05-02' },
- { text: '2016-05-03', value: '2016-05-03' },
- { text: '2016-05-04', value: '2016-05-04' }
- ]"
- :filter-method="filterHandler"
- />
- <el-table-column prop="name" label="Name" width="180" />
- <el-table-column prop="address" label="Address" :formatter="formatter" />
- <el-table-column
- prop="tag"
- label="Tag"
- width="100"
- :filters="[
- { text: 'Home', value: 'Home' },
- { text: 'Office', value: 'Office' }
- ]"
- :filter-method="filterTag"
- filter-placement="bottom-end"
- >
- <template #default="scope">
- <el-tag :type="scope.row.tag === 'Home' ? 'primary' : 'success'" disable-transitions>{{
- scope.row.tag
- }}</el-tag>
- </template>
- </el-table-column>
- </el-table>
- </template>
- <script lang="ts" setup>
- import { ref } from 'vue'
- import type { TableColumnCtx, TableInstance } from 'element-plus'
- interface User {
- date: string
- name: string
- address: string
- tag: string
- }
- const tableRef = ref<TableInstance>()
- const resetDateFilter = () => {
- tableRef.value!.clearFilter(['date'])
- }
- const clearFilter = () => {
- tableRef.value!.clearFilter()
- }
- const formatter = (row: User, column: TableColumnCtx<User>) => {
- return row.address
- }
- const filterTag = (value: string, row: User) => {
- return row.tag === value
- }
- const filterHandler = (value: string, row: User, column: TableColumnCtx<User>) => {
- const property = column['property']
- return row[property] === value
- }
- const tableData: User[] = [
- {
- date: '2016-05-03',
- name: 'Tom',
- address: 'No. 189, Grove St, Los Angeles',
- tag: 'Home'
- },
- {
- date: '2016-05-02',
- name: 'Tom',
- address: 'No. 189, Grove St, Los Angeles',
- tag: 'Office'
- },
- {
- date: '2016-05-04',
- name: 'Tom',
- address: 'No. 189, Grove St, Los Angeles',
- tag: 'Home'
- },
- {
- date: '2016-05-01',
- name: 'Tom',
- address: 'No. 189, Grove St, Los Angeles',
- tag: 'Office'
- }
- ]
- </script>
- <style>
- .m-table .el-table__column-filter-trigger .el-icon {
- display: none;
- }
- .m-table .el-table__column-filter-trigger::before {
- content: '666';
- color: red;
- }
- </style>
复制代码

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