angular 4 click na li

  • Rejestracja: dni
  • Ostatnio: dni
0

Mam problem z wywołaniem (click) na tagu z poziomu Angular 4.

Kopiuj
       <li *ngFor="let item of items | SearchFilterPipe : searchText" (click)="onItemClick()">
            {{item}}
        </li>
Kopiuj
export class SearchFilterComponent {
    @Input() items: string[];
    searchText: string = null;
    displayItems = false;

    constructor() { }

    onSearchInputFocus() {
        this.displayItems = !this.displayItems;
        this.searchText = null;
    }
    
    onItemClick() {
        console.log('asdads');
    }
}

W ogóle nie wykonuje się metoda "onItemClick" ktoś ma pomysł czemu?

  • Rejestracja: dni
  • Ostatnio: dni
0

Problem jest przez ```
*ngFor="let item of items | SearchFilterPipe : searchText"

Kopiuj
bez Pipe'a działa poprawnie. Dostajesz coś w konsoli ?
  • Rejestracja: dni
  • Ostatnio: dni
0

Problem jest w tym, że wykonuje się metoda (blur) na input i wtedy nie wykonuje się (click) na li.

Kopiuj
(blur)="onSearchInputFocus()"

Cały kod:

Kopiuj
<input [(ngModel)]="searchText" (focus)="onSearchInputFocus()"  (blur)="onSearchInputFocus()" type="text" class="form-control" />
<div *ngIf="displayItems && searchText !== null">
    <ul>
        <li *ngFor="let item of items | SearchFilterPipe : searchText" (click)="onItemClick(item)">
            {{item}}
        </li>
    </ul>
</div>
Kopiuj
 onSearchInputFocus() {
        this.displayItems = !this.displayItems;
        this.searchText = null;
    }
    
    onItemClick(item: string) {
        console.log(item);
        this.selectedItem = item;
        
        this.displayItems = !this.displayItems;
        this.searchText = null;
    }
  • Rejestracja: dni
  • Ostatnio: dni
0

Pytanie brzmi: jak wpierw wykonać (click) obiektu leżącego niżej w DOM a potem (blur) obiektu nadrzędnego w drzewie?

  • Rejestracja: dni
  • Ostatnio: dni
0

W onItemClick wykonujesz ten sam kod co w onSearchInputFocus . Moim zdaniem usun zdarzenie (focus), a efekt będzie ten sam.

  • Rejestracja: dni
  • Ostatnio: dni
0

Co za debi...

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.