mirror of
https://github.com/element-plus/element-plus.git
synced 2026-03-13 07:51:17 +08:00
feat(components): [table] add filterClassName props in TableColumn (#15389)
This commit is contained in:
@@ -9,7 +9,7 @@
|
||||
teleported
|
||||
effect="light"
|
||||
pure
|
||||
:popper-class="ns.b()"
|
||||
:popper-class="filterClassName"
|
||||
persistent
|
||||
>
|
||||
<template #content>
|
||||
@@ -145,6 +145,12 @@ export default defineComponent({
|
||||
const filters = computed(() => {
|
||||
return props.column && props.column.filters
|
||||
})
|
||||
const filterClassName = computed(() => {
|
||||
if (props.column.filterClassName) {
|
||||
return `${ns.b()} ${props.column.filterClassName}`
|
||||
}
|
||||
return ns.b()
|
||||
})
|
||||
const filterValue = computed({
|
||||
get: () => (props.column?.filteredValue || [])[0],
|
||||
set: (value: string) => {
|
||||
@@ -234,6 +240,7 @@ export default defineComponent({
|
||||
return {
|
||||
tooltipVisible,
|
||||
multiple,
|
||||
filterClassName,
|
||||
filteredValue,
|
||||
filterValue,
|
||||
filters,
|
||||
|
||||
@@ -49,6 +49,7 @@ interface TableColumnCtx<T> {
|
||||
filters: Filters
|
||||
filterPlacement: string
|
||||
filterMultiple: boolean
|
||||
filterClassName: string
|
||||
index: number | ((index: number) => number)
|
||||
sortOrders: ('ascending' | 'descending' | null)[]
|
||||
renderCell: (data: any) => void
|
||||
@@ -133,6 +134,7 @@ export default {
|
||||
type: Boolean,
|
||||
default: true,
|
||||
},
|
||||
filterClassName: String,
|
||||
index: [Number, Function] as PropType<TableColumnCtx<DefaultRow>['index']>,
|
||||
sortOrders: {
|
||||
type: Array as PropType<TableColumnCtx<DefaultRow>['sortOrders']>,
|
||||
|
||||
@@ -82,6 +82,7 @@ export default defineComponent({
|
||||
filterable: props.filters || props.filterMethod,
|
||||
filteredValue: [],
|
||||
filterPlacement: '',
|
||||
filterClassName: '',
|
||||
isColumnGroup: false,
|
||||
isSubColumn: false,
|
||||
filterOpened: false,
|
||||
@@ -113,6 +114,7 @@ export default defineComponent({
|
||||
'filterOpened',
|
||||
'filteredValue',
|
||||
'filterPlacement',
|
||||
'filterClassName',
|
||||
]
|
||||
|
||||
let column = getPropsData(basicProps, sortProps, selectProps, filterProps)
|
||||
|
||||
@@ -57,6 +57,7 @@ function useWatcher<T>(
|
||||
'formatter',
|
||||
'className',
|
||||
'labelClassName',
|
||||
'filterClassName',
|
||||
'showOverflowTooltip',
|
||||
]
|
||||
const aliases = {
|
||||
|
||||
Reference in New Issue
Block a user