diff --git a/nuxt4/app/components/contacts/ContactsFilters.vue b/nuxt4/app/components/contacts/ContactsFilters.vue index ccffc56..2660738 100644 --- a/nuxt4/app/components/contacts/ContactsFilters.vue +++ b/nuxt4/app/components/contacts/ContactsFilters.vue @@ -4,16 +4,16 @@
@@ -24,7 +24,7 @@
@@ -42,7 +42,7 @@ @@ -73,17 +73,33 @@ const emit = defineEmits<{ 'clear': [] }>() -const localFilters = computed({ - get: () => props.modelValue, - set: (val) => emit('update:modelValue', val) +// Computed individuales para cada filtro con emisión reactiva +const searchFilter = computed({ + get: () => props.modelValue.search, + set: (val) => emit('update:modelValue', { ...props.modelValue, search: val }) +}) + +const idFilter = computed({ + get: () => props.modelValue.id, + set: (val) => emit('update:modelValue', { ...props.modelValue, id: val }) +}) + +const telefonoFilter = computed({ + get: () => props.modelValue.telefono, + set: (val) => emit('update:modelValue', { ...props.modelValue, telefono: val }) +}) + +const empleadoFilter = computed({ + get: () => props.modelValue.empleado, + set: (val) => emit('update:modelValue', { ...props.modelValue, empleado: val }) }) const hasActiveFilters = computed(() => { return ( - localFilters.value.search || - localFilters.value.id || - localFilters.value.telefono || - !localFilters.value.empleado + props.modelValue.search || + props.modelValue.id || + props.modelValue.telefono || + !props.modelValue.empleado ) })