Error in Typescript: FormArray is undefined and cannot push property

An error has occurred: TypeError - Unable to read the property 'push' of undefined

addAddress() {
    const control = <FormArray>this.AddUserstep2Form.controls['addresses'];  

    const addrCtrl = this.initAddress();

    control.push(addrCtrl);

  }
initAddress() {
    return this.fb.group({
      stateCode: [''],
      cityId: ['']
    }); 
  }

Answer №1

This issue arises when the control variable is null. To fix it, make sure to initialize it as an empty array.

const control = <FormArray>this.AddUserstep2Form.controls['addresses'];  
const addrCtrl = this.initAddress();
if(control && control.length > 0){
    control.push(addrCtrl);
} else {
    control = [];
    control.push(addrCtrl);
}

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

Access Element in Array by Type using TypeScript

Within a TypeScript project, there exists an array of containers that possess a type attribute along with supplementary data based on their individual types. type Container<Type extends string> = { type: Type; } type AContainer = Container<" ...

Adding connected types to a list using Typescript

Question regarding Typescript fundamentals. In my code, I have a list that combines two types using the & operator. Here is how it's initialized: let objects: (Object & number)[] = []; I'm unsure how to add values to this list. I attem ...

Where would be the most appropriate place to define mock classes and test variables for Karma and Jasmine testing in Angular?

Consider the scenario below: const listDefinition: any = { module: "module", service: "service", listname: "listname" }; @Component(...) class MockTreeExpanderComponent extends TreeExpanderComponent {...} class MockListConfigurationsService ...

The program encountered an issue where it was unable to access the 'email' property due to its null value

While implementing form validation for email in my Angular 5 template driven form, I encountered the following error - ERROR TypeError: Cannot read property 'email' of null. Below is the snippet of HTML code containing the form structure: < ...

Exploring the Implementation of Validation Pipe in class-validator

I am currently exploring how to effectively utilize my validation pipe in combination with class-validator on an API call. My DTO is decorated with class-validator decorators and is performing as anticipated. However, I am interested in utilizing the &apo ...

What is the best way to integrate a JavaScript library as a module in my Angular 4.x projects?

Here is an example showcasing the test.js file: function test() { console.log('Test is working!'); }; Next to it, we have the test.d.ts file: declare module 'test' { export function test(): void; }; However, when attempting to uti ...

What is the best way to conduct tests on Typescript modules that are not intended for

Even though the compiler accepts my current solution without any errors, the tests are still failing with the message "ReferenceError: myFunction is not defined". I am interested in testing the functionality of the following module using TypeScript: File1 ...

Why does `react/require-default-props` still display an error even when a default prop value has been set?

This inquiry pertains to the guideline require-default-props. Here is the code snippet in question: function MyComponent({ blubb = 'my default', }: { blubb?: string, }) { // blubb defaults to 'my default' }; Eslint is flagging a ...

What is the best way to set the position of a button in TypeScript React?

I'm currently working on positioning a button in TypeScript React. Here is the code I have written so far: <Button key="copy-to-clipboard" id="copy-to-clipboard" text="Copy" icon="file_copy" ...

Using Typescript to specify the parameter type of a function as a generic function

After creating a function called compose, it looks like this: const composeTyped = <T, U, R>(f: (x: T) => U, g: (y: U) => R) => (x: T) => g(f(x)); It appears to me that both functions f and g fall under the type fGeneric, which is define ...

Ensure that the default boolean value is set to false rather than being left as undefined

I have a specific type definition in my code: export type ItemResponse = { .... addedManually: boolean; .... } Whenever I parse a JSON response into this type, I encounter an issue: const response = await fetch( `https://api.com` ); con ...

Error encountered during conversion to Typescript for select event and default value

When trying to set the defaultValue in a Select component, TSlint throws an error - Type 'string' is not assignable to type 'ChangeEvent<HTMLInputElement> | undefined - for the code snippet below: const App = () => { const [ mont ...

Angular is not rendering styles correctly

Having two DOMs as depicted in the figures, I'm facing an issue where the circled <div class=panel-heading largeText"> in the first template receives a style of [_ngcontent-c1], while that same <div> gets the style of panel-primary > .p ...

Open new tab for Angular OAuth2 OIDC login process

Currently, I am incorporating the authorization code flow using angular-oauth2-oidc in my Angular application. It is a fairly straightforward process. However, I would like to have the ability for the login flow to open in a new tab when the login button ...

VS Code fails to identify a function that returns 'never' type, prompting an error indicating that the object may be 'undefined'

tsc --version: Version 2.5.2 Visual Studio Code Version: Version 1.16.1 (1.16.1) 27492b6bf3acb0775d82d2f87b25a93490673c6d Encountering an issue where Visual Studio Code fails to recognize the nullability check on an object, leading to false alerts. Despit ...

How can I stop union types from being used in TypeScript?

I'm completely new to conditional types, and I recently attempted a straightforward static approach with no success: type NoUnion<Key> = Key extends 'a' ? 'a' : Key extends 'b' ? 'b' : never; type ...

Ways to halt the execution of a setTimeout function within a loop

This question is a follow-up from this thread - setTimeout inside a loop, stops script from working I'm facing an issue with my script that fetches data from an API and stores it in a MongoDB collection. The problem seems to be related to the setTime ...

Tips for testing nested subscribe methods in Angular unit testing

FunctionToTest() { this.someService.method1().subscribe((response) => { if (response.Success) { this.someService.method2().subscribe((res) => { this.anotherService.method3(); }) } }); } Consider the following scenario. ...

Is there a way to resolve the issue of the argument being of type Boolean or undefined in React and TypeScript?

Encountering an issue, Received an error message stating: 'Argument of type 'boolean | undefined' is not assignable to parameter of 'type boolean'. Type 'undefined' is not assignable to type 'boolean'.' ...

Convert the encoding of the FileReader's output to UTF-8

I am currently working on a small function that is meant to fetch the contents of an uploaded text file. upload() { let reader = new FileReader(); reader.onload = () => { console.log(reader.result); } reader.readAsText(this.file ...