将初始值设置为 Angular 中的输入范围

对于我的一个项目,我实现了一个具有自定义样式的输入范围滑块。当组件初始化时,我想将最大价格设置为滑块中的默认值。我尝试了几种方法,但找不到解决方案。有人可以告诉我做错了什么吗?这是我的实现的 stackblitz 演示


千万里不及你
浏览 102回答 2
2回答

侃侃无极

您需要为值创建一个输入属性并设置表单控件并将其绑定到输入元素,就像这个 组件一样&nbsp; @Input() value:number; // default value&nbsp; constructor(){&nbsp; &nbsp; this.inputForm = new FormGroup({priceRangeSlider : new FormControl(null)});&nbsp; }&nbsp; ngOnInit() {&nbsp; &nbsp; this.slider.valueChanges.subscribe(values =>{&nbsp; &nbsp; &nbsp; this.priceForDisplay = values;&nbsp; &nbsp; })&nbsp; &nbsp; this.inputForm.get('priceRangeSlider').setValue(this.value); // init value set&nbsp;&nbsp; }模板&nbsp; &nbsp; <div class="slider-container">&nbsp; &nbsp; &nbsp; <input&nbsp; &nbsp; &nbsp; &nbsp; class="slider"&nbsp; &nbsp; &nbsp; &nbsp; type="range"&nbsp; &nbsp; &nbsp; &nbsp; formControlName="priceRangeSlider"&nbsp; &nbsp; &nbsp; &nbsp; [min]="minPrice"&nbsp; &nbsp; &nbsp; &nbsp; [max]="maxPrice"&nbsp; &nbsp; &nbsp; &nbsp; step="100"&nbsp; &nbsp; &nbsp; &nbsp; [value]="value"&nbsp; &nbsp; &nbsp; />&nbsp; &nbsp; </div>应用程序模板<app-user [minPrice]="1000" [maxPrice]="10000"&nbsp; [value]="4000"><app-user>

DIEA

我编辑了您的代码示例:https ://stackblitz.com/edit/create-a-basic-angular-component-amnhih我将 FormControl 绑定到滑块元素,并将初始setValue调用移至订阅下方。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Html5