angular - Angular 6:表单提交因表单未连接而取消
问题描述
我正在尝试构建一个表单,但我收到“表单提交因表单未连接而被取消”警告。
删除了一些输入以使其更具可读性。
HTML:
<form name="newProduct" id="newProduct" (ngSubmit)="saveNewProduct()" [formGroup]="newProduct">
<label for="productId">Id</label><br />
<input name="productId" id="productId" type="number" formControlName="productId" placeholder="productId" autocomplete="off" />
<m-spinner-button [options]="spinner" type="submit" (click)="modal.close()">ADD PRODUCT</m-spinner-button>
</form>
组件.ts
newProduct = new FormGroup({
productId: new FormControl("")
});
saveNewProduct(){
console.log(this.newProduct.value)
}
这里有什么问题,应该连接?
解决方案
如果您的表单处于模式中,那么看起来关闭模式的单击处理程序正在销毁/卸载表单,然后才能提交。更新按钮以删除点击处理程序。close
如果要在提交后关闭模式,可以将模式移动到事件处理程序的主体中:
模板:
<form name="newProduct" id="newProduct" (ngSubmit)="saveNewProduct()" [formGroup]="newProduct">
<label for="productId">Id</label><br />
<input name="productId" id="productId" type="number" formControlName="productId" placeholder="productId" autocomplete="off" />
<m-spinner-button [options]="spinner" type="submit">ADD PRODUCT</m-spinner-button>
</form>
控制器:
saveNewProduct() {
// ... your existing code
this.modal.close(); // close the modal when everything else is done
}
希望这会有所帮助!
推荐阅读
- java - apache.commons 中带有 SwallowedExceptionListener 的 NoClassDefFoundError
- amazon-web-services - AWS RDS Performance Insights 未显示 SQL 查询
- android - 如何在没有Play商店的情况下向手机发送通知(如华为)
- assembly - 对 ARM32 处理器如何区分寄存器和立即指令感到困惑
- javascript - 扩展 tsconfig 似乎被忽略了
- javascript - 编写 Google Cloud Functions 时,我应该在“finally”块中使用 response.send() 吗?
- sql - 创建一个标量函数,该函数接受输入,并按降序排列单价
- android - 自定义视图中的样式不受超级构造函数调用的影响
- c - 如何在 C 中查看一手牌中是否有 1 或 2 个扑克对
- php - 在 MongoDB 旧版与边缘 (PHP) 上插入文档 ID