@lx-frontend/wrap-element-ui 1.0.11-beta.2 → 1.0.11-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lx-frontend/wrap-element-ui",
3
- "version": "1.0.11-beta.2",
3
+ "version": "1.0.11-beta.3",
4
4
  "description": "wrap-element-ui",
5
5
  "author": "",
6
6
  "main": "src/components/index.ts",
@@ -80,10 +80,10 @@ export function useColumnHeaderOperation({ props, tableDomRef, emit, showingColu
80
80
 
81
81
  return (
82
82
  !!(column.filters && (Array.isArray(column.filters)
83
- ? ((filteredValue.value[column.prop] as any[]).length)
83
+ ? ((filteredValue.value[column.filters.prop || column.prop] as any[]).length)
84
84
  : column.filters.type === 'radio'
85
- ? filteredValue.value[column.prop]
86
- : (filteredValue.value[column.prop] as any[]).length))
85
+ ? filteredValue.value[column.filters.prop || column.prop]
86
+ : (filteredValue.value[column.filters.prop || column.prop] as any[]).length))
87
87
  ) || (
88
88
  !!(column.search
89
89
  ? Array.isArray(column.search) && column.search?.some(v => searchValue.value[v.prop])
@@ -130,7 +130,7 @@ export function useColumnHeaderOperation({ props, tableDomRef, emit, showingColu
130
130
  showingColumns.value.forEach(prop => {
131
131
  const column = columnMap.value[prop]
132
132
  if (column.filters) {
133
- params[prop] = filteredValue.value[prop]
133
+ params[column.filters.prop || prop] = filteredValue.value[column.filters.prop || prop]
134
134
  }
135
135
  if (column.search) {
136
136
  if (Array.isArray(column.search)) {
@@ -237,11 +237,11 @@ export function useColumnHeaderOperation({ props, tableDomRef, emit, showingColu
237
237
  function handleResetFilterValue (column: IColumnConfig) {
238
238
  if (column.filters) {
239
239
  if (Array.isArray(column.filters)) {
240
- filteredValue.value[column.prop] = []
240
+ filteredValue.value[column.filters.prop || column.prop] = []
241
241
  } else if (column.filters.default) {
242
- filteredValue.value[column.prop] = column.filters.default
242
+ filteredValue.value[column.filters.prop || column.prop] = column.filters.default
243
243
  } else {
244
- filteredValue.value[column.prop] = column.filters.type === 'radio' ? '' : []
244
+ filteredValue.value[column.filters.prop || column.prop] = column.filters.type === 'radio' ? '' : []
245
245
  }
246
246
  }
247
247
  }
@@ -321,8 +321,8 @@ export function useColumnHeaderOperation({ props, tableDomRef, emit, showingColu
321
321
  }
322
322
  }
323
323
  if (column.filters) {
324
- const value = params[column.prop] ?? (Array.isArray(column.filters) ? [] : column.filters.default);
325
- _filteredValue[column.prop] = value;
324
+ const value = params[column.filters.prop || column.prop] ?? (Array.isArray(column.filters) ? [] : column.filters.default);
325
+ _filteredValue[column.filters.prop || column.prop] = value;
326
326
  }
327
327
  if (column.doubleDatePicker) {
328
328
  _searchValue[column.doubleDatePicker.props[0]] = params[column.doubleDatePicker.props[0]] ?? '';
@@ -126,8 +126,8 @@
126
126
  <el-checkbox-group
127
127
  v-if="column.filters && (Array.isArray(column.filters) || column.filters.type === 'checkbox')"
128
128
  class="editable-table-sort-filter__filter-checkbox-group"
129
- :value="tempFilteredValue[column.prop]"
130
- @input="val => emit('update:tempFilteredValue', column.prop, val)"
129
+ :value="tempFilteredValue[column.filters.prop || column.prop]"
130
+ @input="val => emit('update:tempFilteredValue', column.filters?.prop || column.prop, val)"
131
131
  >
132
132
  <el-checkbox
133
133
  v-for="item in (Array.isArray(column.filters) ? column.filters : column.filters.options)"
@@ -148,8 +148,8 @@
148
148
  <el-radio-group
149
149
  v-if="column.filters && !Array.isArray(column.filters) && column.filters.type === 'radio'"
150
150
  style="display: flex;flex-direction: column;gap: 6px;"
151
- :value="tempFilteredValue[column.prop]"
152
- @input="val => emit('update:tempFilteredValue', column.prop, val)"
151
+ :value="tempFilteredValue[column.filters.prop || column.prop]"
152
+ @input="val => emit('update:tempFilteredValue', column.filters?.prop || column.prop, val)"
153
153
  >
154
154
  <el-radio
155
155
  v-for="item in column.filters.options"
@@ -27,7 +27,9 @@ type _IColumnConfigRequired = {
27
27
  filters?: {
28
28
  type?: 'checkbox' | 'radio',
29
29
  options: FiltersOption[]
30
- default?: string | number | string[] | number[]
30
+ default?: string | number | string[] | number[],
31
+ /** 自定义参数 优先于最外层的prop */
32
+ prop?: string
31
33
  } | FiltersOption[]
32
34
  /** 格式化函数,用于自定义渲染 */
33
35
  formatter?: (row: any, column: IColumnConfig, value: any, index: number) => string | number;