Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

1.2K
Views
Difference between .value and .setValue in reactive forms in Angular 7+

I would like to fully understand what are the differences between .value and .setValue in angular 7+ and under which circumstances that are suitable for using .value or .setValue?

Example 1: this.createLocForm.setValue(data);

Example 2: this.data = this.createLocForm.value

over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

setValue and patchValue are methods from the Angular FormGroup. They both set the value of a control in a FormGroup. But value is used for getting a value, not setting. The difference between set/patch is that setValue cannot exclude some controls, while the patchValue is able to do just that.

Let’s assume we have a FormGroup with two controls: name & age. If we want to set the value of one control, this will not work, therefore we have to set the value of both controls:

formgroup.setValue({name: ‘Mocrosoft’, age: ‘25’});

It is necessary to mention all the controls inside the method. If this is not done, it will throw an error.

On the other hand patchValue is a lot easier on that part. Let’s say we only want to assign the name as a new value:

formGroup.patchValue({name:’Mocrosoft’});
over 4 years ago · Santiago Trujillo Report

0

Example 1: this.createLocForm.setValue(data);

Use the setValue() method to set a new value for individual control. The setValue() method strictly adheres to the structure of the form group and replaces the entire value for the control. Please read this for more details

Example 2: this.data = this.createLocForm.value

This is a read-only property. You can't assign any value for this property. You can only do read the control values by using this property.

over 4 years ago · Santiago Trujillo Report

0

They both are completely different:

.setValue() is a function which used to:

Sets the value of the FormGroup. It accepts an object that matches the structure of the group, with control names as keys.

For example:

If you have:

const formGroup = new FormGroup({
  name: new FormControl(),
  mobileNo: new FormControl()
});

then your setValue:

formGroup.setValue({name: 'Prashant', mobileNo: '99XXXXXXXX'});

In case of the below code, it will not work:

formGroup.setValue({full_name: 'Prashant', mobileNumber: '99XXXXXXXX'}); -- The keys are important for set value

or

formGroup.setValue({ name: 'Prashant'}); -- Will not work as it is missing mobileNo key from the specified object

.value is a property:

which used to get/access the value of formGroup.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!