Actividad entregable
Requisitos de finalización
8. ProductFilterComponent (Filtrado de productos en tiempo real)
8.3. Lógica del filtro en el componente
Este componente no filtra directamente la lista.
Solo recoge los valores del formulario y se los comunica al servicio.
El servicio es el único responsable de modificar el estado
Abrimos product-filter.component.ts y lo dejamos así
import { Component } from '@angular/core';
import { CommonModule } from '@angular/common';
import { ProductService } from '../../services/product.service';
@Component({
selector: 'app-product-filter',
standalone: true,
imports: [CommonModule],
templateUrl: './product-filter.component.html'
})
export class ProductFilterComponent {
constructor(private productService: ProductService) {}
onNombreChange(event: Event) {
const valor = (event.target as HTMLInputElement).value;
this.productService.filtrarPorNombre(valor);
}
onCategoriaChange(event: Event) {
const valor = (event.target as HTMLInputElement).value;
this.productService.filtrarPorCategoria(valor);
}
onActivoChange(event: Event) {
const marcado = (event.target as HTMLInputElement).checked;
this.productService.filtrarPorActivo(marcado);
}
}