Fala pessoal!
Eu tenho na minha aplicação um sidebar(menu) lateral onde preciso implementar um input de campo de busca com keyup, que mostre apenas os links conforme o input, ou seja, a ideia é colocar um campo de filtro no qual digitarei parte do texto que está nos links, e todos os links que possuírem o textxo serão exibidos, enquanto os demais serão omitidas da página.
No curso de Angular I, o Flavio ensinou a usar o filter do javascript com o pipe na diretiva, entretanto, o meu menu não possui as diretivas NgFor ou NgRepeat, sendo assim, não consegui implementar.
Procurando aqui no fórum, na postagem https://cursos.alura.com.br/forum/topico-filtro-de-produtos-65961 na resposta da pergunta do aluno, o professor diz que dá pra filtrar no HTML mesmo, escondendo ou exibindo as linhas da tabela com CSS.
Enfim, alguém pode me dar alguma ideia de como implementar essa funcionalidade ? Se não dá pra usar mesmo o filter do JS ou se pelo HTML eu consigo fazer ou alguma outra ideia que possa me ajudar?
Valeu obrigado!!
https://cursos.alura.com.br/forum/topico-filtro-de-produtos-65961
3 - Filtra no HTML mesmo escondendo ou exibindo as linhas da tabela com CSS.
<aside class="left-sidebar">
<div class="scroll-sidebar">
<nav class="sidebar-nav">
<ul id="sidebarnav">
<nav class="navbar">
<input
class="form-control"
type="text"
name="search"
[(ngModel)]="filter"
>
</nav>
<!-- | filter:search -->
<li class="nav-small-cap">INÍCIO</li>
<li [class.active]="showMenu === '/dashboard'">
<a routerLink="/dashboard/dashboard1" [routerLinkActive]="['router-link-active']">
<i class="mdi mdi-gauge"></i>
<span class="hide-menu">Dashboard </span>
</a>
</li>
<li *ngIf="authService.roleMatch(['Administrador', 'Cadastro'])" class="nav-small-cap">CADASTROS</li>
<!-- Inicio Nav Cadastros -->
<li *ngIf="authService.roleMatch(['Administrador', 'Cadastro'])" [class.active]="showMenu === 'empresa'">
<a class="has-arrow waves-dark" (click)="AdicionarExpandirClass(['empresa'])" aria-expanded="false">
<i class="mdi mdi-account-card-details"></i>
<span class="hide-menu">Cadastros</span>
</a>
<ul aria-expanded="false" class="collapse" [class.in]="showMenu === 'empresa'">
<li>
<a routerLink="/cliente" [routerLinkActive]="['router-link-active']">Clientes</a>
</li>
<li>
<a routerLink="/empresa" [routerLinkActive]="['router-link-active']">Empresas</a>
</li>
<li>
<a routerLink="/estadocivil" [routerLinkActive]="['router-link-active']">Estado Civil</a>
</li>
<li>
<a routerLink="/fornecedor" [routerLinkActive]="['router-link-active']">Fornecedor</a>
</li>
<li>
<a routerLink="/uf" [routerLinkActive]="['router-link-active']">UF - Unidade da Federação</a>
</li>
</ul>
</li>
<!-- Fim -->
<li *ngIf="authService.roleMatch(['Administrador', 'Financeiro', 'RelatorioContasReceber'])" class="nav-small-cap">FINANCEIRO</li>
</ul>
</nav>
</div>
</aside>