angular - 按钮单击不更新角度 formControlName 值
问题描述
我有一个表单,它具有+并-用于增加值,并且当我使用这些按钮时 formControlName 不会更新,但在我手动输入时可以工作。如何解决这个问题?代码如下:
<form [formGroup]="secondFormGroup">
<ng-template matStepLabel>Amenities</ng-template>
<h5>How many guests can your place accomodate?</h5>
<p class="textClass">
Please specify the nuamber of guests your place can easily accomodate
comfortably.
</p>
<div class="def-number-input number-input safari_only">
<button
onclick="this.parentNode.querySelector('input[type=number]').stepDown()"
class="minus"
></button>
<input
formControlName = "guestCapacity"
min="0"
type="number"
/>
<button
onclick="this.parentNode.querySelector('input[type=number]').stepUp()"
class="plus"
></button>
</div>
</form>
我控制台记录了该值并使用订阅者查看它是否发生变化,但就像我之前所说的那样,它仅在我手动输入输入并且按钮没有任何效果时才有效。
submit() {
console.log(this.secondFormGroup.controls.guestCapacity.value);
}
解决方案
好吧,我不确定查询选择器是否真的有效,但让我给你一个不同的方法。
如果你想以角度引用一个节点,你可以使用#
or ref
,像这样,
<button
onclick="guestCapacity.stepDown()"
class="minus"
></button>
<input #guestCapacity
formControlName = "guestCapacity"
min="0"
type="number"
/>
<button
onclick="guestCapacity.stepUp()"
class="plus"
></button>
推荐阅读
- c# - AxMSTSCLib 如何将相机从客户端重定向到远程会话?
- azure-devops - Azure DevOps Server 2019:自定义仪表板小部件不可用
- parameters - 为什么我的参数没有在快速报告中定义?
- sql - 过滤表中的特定列不起作用
- apache2 - 升级到 http 2 后出现错误 503
- javascript - 有没有办法观察 Angular 中的所有网络响应?
- r - R:x[[1]] 中的错误:下标越界(导入文件)
- c - 在函数中分配和初始化静态变量有什么不同的效果?
- java - 如何将语法荧光笔添加到使用 android 中的博主 api 获取的代码中?
- c# - 如何使用 Identity 从.Net 核心应用程序向 EventGrid 发送数据?