angular2 - 单击后清除输入字段值

时间:2018-03-13 03:41:46

标签: javascript html5 angular typescript

我在重置输入值时遇到问题。我有带过滤功能的搜索栏。当我写一些值时,它显示我下面的列表,我想添加函数到这个锚点,当我点击其中一些时,它将我路由到另一个组件,我想清除输入值。

我的代码:

<div class="form">
            <input #query (keyup)="filter(query.value)" type="text" class="form-control" placeholder="Search...">
            <ng-container *ngIf="query.value">
              <div *ngFor="let f of filteredProducts">
                <a (click)="!query.value" [routerLink]="['/product-details/', f.category , f.$key]">{{ f.name }}</a>
              </div>
            </ng-container>
          </div>

我试图将此值设置为null或''喜欢:

(click)="query.value = ''"

2 个答案:

答案 0 :(得分:0)

https://plnkr.co/edit/dyCp5ZMKOkZvcsw4F8og?p=preview查看此链接并使用ngmodal并将值设置为null

<div>
  <input type="text" placeholder="Search..."  [(ngModel)]="searchValue">
  <button (click)="clearSearch()">Clear</button>
</div>


     export class App {
      searchValue:string = '';
     clearSearch() {
     this.searchValue = null;
  }
 }

答案 1 :(得分:-1)

HTML

<div class="form">
        <input #query (keyup)="filter(query.value)" type="text" class="form-control" placeholder="Search...">
        <ng-container *ngIf="query.value">
          <div *ngFor="let f of filteredProducts">
            <a href="javascript:void(0)" (click)='myfun(f)'>{{ f.name }}</a>
          </div>
        </ng-container>
      </div>

在课堂上添加

@ViewChild("query") input: ElementRef;

myfun(f) {

this.input.nativeElement.value = "";
this.router.navigate(['/product-details/', f.category , f.$key]");
}