108108 :min =" getFilterMinValue(c.name)"
109109 :max =" getFilterMaxValue(c.name)"
110110 :valueStart =" getFilterItem({ column: c, operator: 'gte' })"
111- @update:valueStart =" onFilterInput[c.name]({ column: c, operator: 'gte', value: $event || undefined })"
111+ @update:valueStart =" onFilterInput[c.name]({ column: c, operator: 'gte', value: ( $event !== '' && $event !== null) ? $event : undefined })"
112112 :valueEnd =" getFilterItem({ column: c, operator: 'lte' })"
113- @update:valueEnd =" onFilterInput[c.name]({ column: c, operator: 'lte', value: $event || undefined })"
113+ @update:valueEnd =" onFilterInput[c.name]({ column: c, operator: 'lte', value: ( $event !== '' && $event !== null) ? $event : undefined })"
114114 />
115115
116116 <div v-else-if =" ['integer', 'decimal', 'float'].includes(c.type)" class =" flex gap-2" >
117117 <Input
118118 type =" number"
119119 aria-describedby =" helper-text-explanation"
120120 :placeholder =" $t('From')"
121- @update:modelValue =" onFilterInput[c.name]({ column: c, operator: 'gte', value: $event || undefined })"
121+ @update:modelValue =" onFilterInput[c.name]({ column: c, operator: 'gte', value: ( $event !== '' && $event !== null) ? $event : undefined })"
122122 :modelValue =" getFilterItem({ column: c, operator: 'gte' })"
123123 />
124124 <Input
125125 type =" number"
126126 aria-describedby =" helper-text-explanation"
127127 :placeholder =" $t('To')"
128- @update:modelValue =" onFilterInput[c.name]({ column: c, operator: 'lte', value: $event|| undefined })"
128+ @update:modelValue =" onFilterInput[c.name]({ column: c, operator: 'lte', value: ( $event !== '' && $event !== null) ? $event : undefined })"
129129 :modelValue =" getFilterItem({ column: c, operator: 'lte' })"
130130 />
131131 </div >
@@ -269,7 +269,7 @@ const onSearchInput = computed(() => {
269269function setFilterItem ({ column, operator, value }) {
270270
271271 const index = filtersStore .filters .findIndex (f => f .field === column .name && f .operator === operator);
272- if (value === undefined ) {
272+ if (value === undefined || value === ' ' || value === null ) {
273273 if (index !== - 1 ) {
274274 filtersStore .filters .splice (index, 1 );
275275 }
@@ -284,7 +284,8 @@ function setFilterItem({ column, operator, value }) {
284284}
285285
286286function getFilterItem ({ column, operator }) {
287- return filtersStore .filters .find (f => f .field === column .name && f .operator === operator)? .value || ' ' ;
287+ const filterValue = filtersStore .filters .find (f => f .field === column .name && f .operator === operator)? .value ;
288+ return filterValue !== undefined ? filterValue : ' ' ;
288289}
289290
290291async function clear () {
0 commit comments