Angular学习笔记42:响应式表单:表单分组FormGroup-新建、获取FormGroup的值

Angular学习笔记40以后。
在user-info这个组件中,有三个formControl,但是会发现在这个组件中,三个控件分别绑定了三个组件的属性值。能否在一个属性中,将这三个formControl分组管理起来呢?

新建一个FormGroup

在Angular 中,可以使用FormGroup;通过 FormGroup 将这三个控件管理起来,并且通过FormGroup就可以将之前的三个属性变成一个属性。

  • 现在新建一个FormGroup ,并将之前的三个属性置换成FormGroup的三个实例。
validateForm = new FormGroup({
   
    name: new FormControl(null, [Validators.required]),
    age: new FormControl(null, [Validators.required]),
    email: new FormControl(null, [Validators.required]),
  });

将这个 FormGroup 和form标签中的FormGroup属性绑定起来。

<form [formGroup]="validateForm"></form>

将之前的三个fromControl管理起来。

<form [formGroup]="validateForm">
    <nz-form-item>
      <nz-form-label nzSpan="3" nz-col>
        姓名
      </nz-form-label>
      <nz-form-control nzSpan="6" nz-col>
        <input nz-input type="text" placeholder="请输入姓名~" formControlName="name">
      </nz-form-control>
    </nz-form-item>

    <nz-form-item>
      <nz-form-label nzSpan="3" nz-col>
        年龄
      </nz-form-label>
      <nz-form-control nzSpan="6" nz-col>
        <input nz-input type="text" placeholder="请输入年龄~" formControlName="age">
      </nz-form-control>
    </nz-form-item>

    
  • 6
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
Angular,可以使用FormGroupFormControl来管理表单数据,也可以通过使用本地存储(localStorage)来缓存表单数据。 以下是一个简单的例子,可以将表单数据存储在本地存储: 1. 在表单组件,定义一个FormGroup对象,并将其初始化为存储在本地存储(如果存在): ``` import { Component } from '@angular/core'; import { FormGroup, FormControl } from '@angular/forms'; @Component({ selector: 'app-form', templateUrl: './form.component.html', styleUrls: ['./form.component.css'] }) export class FormComponent { form: FormGroup; constructor() { this.form = new FormGroup({ name: new FormControl(localStorage.getItem('name')), email: new FormControl(localStorage.getItem('email')), phone: new FormControl(localStorage.getItem('phone')) }); } onSubmit() { // Save form data to local storage localStorage.setItem('name', this.form.value.name); localStorage.setItem('email', this.form.value.email); localStorage.setItem('phone', this.form.value.phone); // Submit form data to server // ... } } ``` 2. 在表单提交时,将表单数据存储在本地存储: ``` onSubmit() { // Save form data to local storage localStorage.setItem('name', this.form.value.name); localStorage.setItem('email', this.form.value.email); localStorage.setItem('phone', this.form.value.phone); // Submit form data to server // ... } ``` 3. 在表单组件添加一个ngOnDestroy钩子函数,以确保在组件销毁时清除本地存储表单数据: ``` import { Component, OnDestroy } from '@angular/core'; import { FormGroup, FormControl } from '@angular/forms'; @Component({ selector: 'app-form', templateUrl: './form.component.html', styleUrls: ['./form.component.css'] }) export class FormComponent implements OnDestroy { form: FormGroup; constructor() { this.form = new FormGroup({ name: new FormControl(localStorage.getItem('name')), email: new FormControl(localStorage.getItem('email')), phone: new FormControl(localStorage.getItem('phone')) }); } onSubmit() { // Save form data to local storage localStorage.setItem('name', this.form.value.name); localStorage.setItem('email', this.form.value.email); localStorage.setItem('phone', this.form.value.phone); // Submit form data to server // ... } ngOnDestroy() { // Clear form data from local storage localStorage.removeItem('name'); localStorage.removeItem('email'); localStorage.removeItem('phone'); } } ``` 这样,当用户重新访问该页面时,表单数据将从本地存储自动填充。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值