我正在实现一个下拉列表,以便在我输入表单的列时输入。我在此字段上有一个可观察的运行,以查找更改并查询数据库中的可用项目。一切正常,但如果我从列出的下拉列表中选择该项目,由于valueChanges和distinctUntilChanged()都将返回true,因此它仍会触发对该选定项目的查询。
例如,如果我键入java,则下拉列表为java和javascript,如果我从列表中选择javascript,它将继续并查询数据库以获取javascript。
这听起来很愚蠢,但是如何避免这种情况,对于UI端我是完全陌生的,对您有所帮助。
this.myForm.controls['myDropDownDesc'].valueChanges .debounceTime(500) .distinctUntilChanged() .subscribe( (newValue) => { this.myMethodCallingHttpGetToGetDropDownValues(newValue); });
<ion-item> <ion-label floating>My Drop DOWN field</ion-label> <ion-input formControlName="myDropDownDesc" value={{myObject?.myDropDownDescription}}> </ion-input> </ion-item>
我正在实现一个下拉列表,以便在我输入表单的列时输入。我在此字段上有一个可观察的运行,以查找更改并查询数据库中的可用项目。一切正常...
您可以在从下拉列表中选择选项时使用带有eventEvent:false的表单控件值来设置,这样它就不会触发该valuechange事件。