Angular ngModelChange 和清除输入的按钮
Angular ngModelChange and button to clear the input
我有一个用于在后端搜索数据的文本输入。
当在输入中输入内容时,会出现一个清除按钮以重置字段值。
如果我在输入中输入或删除字符,我会有一个日志指示输入的内容。
但是,如果我点击按钮,日志不会被触发(我需要它来从服务器查询未过滤的数据集)
// app.component.ts
import { Component } from '@angular/core';
@Component({
selector: 'my-app',
templateUrl: './app.component.html',
styleUrls: [ './app.component.css' ]
})
export class AppComponent {
search = null;
public searchSeries(value: string) {
console.log(value); // this log is not called when the input is cleared via the button
}
}
// app.component.html
<input type="text" placeholder="Search" (ngModelChange)="searchSeries($event)" [(ngModel)]="search">
<button *ngIf="search" aria-label="Clear" (click)="search=null">
clear
</button>
如何在通过 clear
按钮清除输入时调用 searchSeries
函数?
这是一个显示问题的 stackblitz 示例:https://stackblitz.com/edit/angular-yk7wbc
在点击清除按钮时使用searchSeries
功能:
<button *ngIf="search" aria-label="Clear" (click)="searchSeries(search); search=null">
clear
</button>
您可以使用 ng click
指令调用函数,就像这样...
<button *ngIf="search" aria-label="Clear" (click)='someFunctionInTheComponentsTsFile()'>
clear
</button>
然后你就可以随心所欲了...
someFunctionInTheComponentsTsFile() {
// do stuff
}
我有一个用于在后端搜索数据的文本输入。
当在输入中输入内容时,会出现一个清除按钮以重置字段值。 如果我在输入中输入或删除字符,我会有一个日志指示输入的内容。
但是,如果我点击按钮,日志不会被触发(我需要它来从服务器查询未过滤的数据集)
// app.component.ts
import { Component } from '@angular/core';
@Component({
selector: 'my-app',
templateUrl: './app.component.html',
styleUrls: [ './app.component.css' ]
})
export class AppComponent {
search = null;
public searchSeries(value: string) {
console.log(value); // this log is not called when the input is cleared via the button
}
}
// app.component.html
<input type="text" placeholder="Search" (ngModelChange)="searchSeries($event)" [(ngModel)]="search">
<button *ngIf="search" aria-label="Clear" (click)="search=null">
clear
</button>
如何在通过 clear
按钮清除输入时调用 searchSeries
函数?
这是一个显示问题的 stackblitz 示例:https://stackblitz.com/edit/angular-yk7wbc
在点击清除按钮时使用searchSeries
功能:
<button *ngIf="search" aria-label="Clear" (click)="searchSeries(search); search=null">
clear
</button>
您可以使用 ng click
指令调用函数,就像这样...
<button *ngIf="search" aria-label="Clear" (click)='someFunctionInTheComponentsTsFile()'>
clear
</button>
然后你就可以随心所欲了...
someFunctionInTheComponentsTsFile() {
// do stuff
}