美文网首页
10. 表单

10. 表单

作者: 晨曦Bai | 来源:发表于2019-08-02 10:06 被阅读0次

1. 定义结账表单模型

FormBuilder 服务为出创建控件提供了方便。

    1. 导入 FormBuilder 服务 from '@angular/forms'
    1. 注入FormBuilder 服务到构造函数
    1. 定义 checkoutForm 属性存储form model
    1. 在结帐时,该应用会提示用户输入姓名和地址。这样你接下来就可以收集到这些信息了。可以使用 FormBuilder#group() 方法,用一个包含 nameaddress 字段的表单模型赋值给 checkoutForm 属性。
      对于结帐过程,用户需要能够提交表单数据(他们的姓名和地址)。在提交订单之后,表单应该重置,购物车应该清空。
    1. 在 cart.component.ts 中,定义一个 onSubmit() 方法来处理表单。使用 CartService#clearCart() 方法清空购物车项目,并在提交完之后重置该表单。(在实际应用中,此方法也会把数据提交给外部服务器。)

》 cart.component.ts


import  {  Component }  from  '@angular/core';  
import  {  FormBuilder  }  from  '@angular/forms'; 
import  {  CartService  }  from  '../cart.service';
export  class  CartComponent  {
items; 
checkoutForm;
constructor(  
private cartService:  CartService,  
private formBuilder:  FormBuilder, 
 )  { 
this.items = this.cartService.getItems();
this.checkoutForm = this.formBuilder.group({
      name: '',
      address: ''
    });
 }  
onSubmit(customerData) {
    // Process checkout data here
    console.warn('Your order has been submitted', customerData);
    this.items = this.cartService.clearCart();
    this.checkoutForm.reset();
  }
}

2. 在 checkout form

    1. 在模板底部,增加一个空的html 表单捕捉用户信息
    1. 用 formGroup 属性绑定checkoutForm 到模板的form 标签。同时包含一个“Purchase” 按钮提交表单
    1. 在 form 标签上,使用 ngSubmit 事件绑定来监听表单提交,并使用 checkoutForm 值调用 onSubmit() 方法。
    1. nameaddress 添加输入字段。使用 formControlName 属性绑定来把 checkoutForm 表单控件中的 nameaddress 绑定到它们的输入字段。

》 cart.component.html


<h3>Cart</h3>
<p>
 <a routerLink ="/shipping">Shipping Prices</[a]
</p>

 <div  class="cart-item" *ngFor="let item of items">
 <span>{{ item.name }} </span>
 <span>{{ item.price | currency }}</span>
 </div>
 <div>
 <label>Name</label>
  <input  type="text"  formControlName="name">
 </div>
<div> 
 <label>Address</label>
 <input  type="text"  formControlName="address">  </div>

<form [formGroup]="checkoutForm" (ngSubmit())="onSubmit(checkoutForm.value)">
<button class="button" type="submit">Purchase</button>
</form>

相关文章

  • 10. 表单

    1. 定义结账表单模型 FormBuilder 服务为出创建控件提供了方便。 导入 FormBuilder 服务 ...

  • JavaScript-DOM

    操作DOM 更新DOM 9.表单 10.操作文件 11.回调

  • bootstrap之form表单

    表单布局 垂直表单(默认) 内联表单 水平表单 垂直表单或基本表单(display:block;) 创建基本表单的...

  • 【读书笔记+思考】移动设备表单设计

    在移动界面中,常见的表单模式有:登录表单;注册表单;核对表单;计算表单;搜索表单;多步骤表单;长表单等 登录表单:...

  • bootstrap表单

    表单布局 垂直表单(默认) 内联表单 水平表单 垂直表单或基本表单 基本的表单结构是 Bootstrap 自带的,...

  • bootstrap 表单布局的三种方式

    三种 垂直表单(默认) 内联表单 水平表单 垂直表单 效果 内联表单 效果 水平表单 效果 参考:https://...

  • 表单相关总结

    表单?表单作用:收集用户信息。表单组成:表单域、表单控件、提示信息。 表单域常用属性 常用属性: name=...

  • 网页设计:HTML表单标签

    表单包含三个基本组成部分:表单标签、表单域、表单按钮。 1,表单标签 HTML 表单用于收集用户输入,表单使用 ...

  • 2019-04-09 表单(5)

    表单布局Bootstrap 提供了下列类型的表单布局: 垂直表单(默认) 内联表单 水平表单 1.垂直或基本表单 ...

  • 动态表单实现

    angular动态表单 地址: angular表单 vue动态表单 地址: vue表单

网友评论

      本文标题:10. 表单

      本文链接:https://www.haomeiwen.com/subject/lplcdctx.html