gpt4 book ai didi

javascript - 清除 Angular2 中的输入文本字段

转载 作者:太空狗 更新时间:2023-10-29 16:49:18 25 4
gpt4 key购买 nike

为什么当我尝试清除文本字段时此方法不起作用?

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


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

我期待的是:因为我正在传递搜索值的属性,所以当我单击按钮时,它应该获得在 clearSearch() 函数中处理的更新值。

我还注意到,如果我将默认值设置为 searchValueclearSearch() 函数会起作用,但只有一次。

check my plunker .

最佳答案

1。第一种方法

你必须在这里分配 null 或空字符串

this.searchValue = null;
//or
this.searchValue = ' ';

Working Plunker

因为 Angular 变化检测没有触发任何事件。所以你必须分配一些值 null 或带空格的字符串

2。第二种方法

  • 使用 [(ngModel)] 它应该与 ngModel 一起使用。

why ?

因为您使用 value 属性进行绑定(bind),这只是属性绑定(bind)而不是事件绑定(bind)。所以angular 不运行变更检测,因为没有触发与 Angular 相关的事件。如果你绑定(bind)到一个事件,那么 Angular 会运行变化检测,并且绑定(bind)有效并且值应该发生变化。

查看与 ngModel 相同的工作示例

Working Example with ngModel

关于javascript - 清除 Angular2 中的输入文本字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41483914/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com