5 lines
18 KiB
JSON
5 lines
18 KiB
JSON
{
|
|
"id": "api/forms/FormArrayName",
|
|
"title": "FormArrayName",
|
|
"contents": "\n\n<article>\n <div class=\"breadcrumb-container\">\n <div class=\"breadcrumb\">\n <script type=\"application/ld+json\">\n {\n \"@context\": \"http://schema.org\",\n \"@type\": \"BreadcrumbList\",\n \"itemListElement\": [\n { \"@type\": \"ListItem\", \"position\": 1, \"item\": { \"@id\": \"https://angular.io//api\", \"name\": \"API\" } },\n { \"@type\": \"ListItem\", \"position\": 2, \"item\": { \"@id\": \"https://angular.io/api/forms\", \"name\": \"@angular/forms\" } },\n { \"@type\": \"ListItem\", \"position\": 3, \"item\": { \"@id\": \"https://angular.io/api/forms/FormArrayName\", \"name\": \"FormArrayName\" } }\n ]\n }\n </script>\n <a href=\"/api\">API</a> > <a href=\"api/forms\">@angular/forms</a>\n </div>\n <div class=\"github-links\">\n <a href=\"https://github.com/angular/angular/edit/master/packages/forms/src/directives/reactive_directives/form_group_name.ts?message=docs(forms)%3A%20describe%20your%20change...#L110-L213\" aria-label=\"Suggest Edits\" title=\"Suggest Edits\"><i class=\"material-icons\" aria-hidden=\"true\" role=\"img\">mode_edit</i></a>\n <a href=\"https://github.com/angular/angular/tree/12.0.0-next.7/packages/forms/src/directives/reactive_directives/form_group_name.ts#L110-L213\" aria-label=\"View Source\" title=\"View Source\"><i class=\"material-icons\" aria-hidden=\"true\" role=\"img\">code</i></a>\n</div>\n </div>\n \n <header class=\"api-header\">\n <h1 id=\"formarrayname\">FormArrayName<a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/forms/FormArrayName#formarrayname\"><i class=\"material-icons\">link</i></a></h1>\n \n <label class=\"api-type-label directive\">directive</label>\n \n \n \n </header>\n \n <aio-toc class=\"embedded\"></aio-toc>\n\n <div class=\"api-body\">\n \n <section class=\"short-description\">\n <p>Syncs a nested <code><a href=\"api/forms/FormArray\" class=\"code-anchor\">FormArray</a></code> to a DOM element.</p>\n\n <p><a href=\"api/forms/FormArrayName#description\">See more...</a></p>\n </section>\n \n \n \n \n<section class=\"see-also\">\n <h2 id=\"see-also\">See also<a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/forms/FormArrayName#see-also\"><i class=\"material-icons\">link</i></a></h2>\n <ul>\n \n <li><p><a href=\"guide/reactive-forms\">Reactive Forms Guide</a></p>\n</li>\n <li><p><code><a href=\"api/forms/AbstractControl\" class=\"code-anchor\">AbstractControl</a></code></p>\n</li>\n </ul>\n</section>\n\n\n <h2 id=\"ngmodule\">NgModule<a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/forms/FormArrayName#ngmodule\"><i class=\"material-icons\">link</i></a></h2>\n<ul class=\"ngmodule-list\">\n\n <li>\n <a href=\"api/forms/ReactiveFormsModule\">\n <code-example language=\"ts\" hidecopy=\"true\" class=\"no-box\">ReactiveFormsModule</code-example>\n </a>\n </li>\n \n</ul>\n\n\n \n<section class=\"selector-list\">\n <h2 id=\"selectors\">Selectors<a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/forms/FormArrayName#selectors\"><i class=\"material-icons\">link</i></a></h2>\n \n <ul>\n <li><code>[<a href=\"api/forms/FormArrayName\" class=\"code-anchor\">formArrayName</a>]</code></li>\n \n </ul>\n \n</section>\n\n\n\n \n\n<section class=\"instance-properties\">\n <h2 id=\"properties\">Properties<a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/forms/FormArrayName#properties\"><i class=\"material-icons\">link</i></a></h2>\n <table class=\"is-full-width list-table property-table\">\n <thead>\n <tr>\n <th>Property</th>\n <th>Description</th>\n </tr>\n </thead>\n <tbody>\n \n <tr class=\"instance-property\">\n <td>\n <a id=\"name\"></a>\n <code class=\"\"><span class=\"property-binding\">@<a href=\"api/core/Input\" class=\"code-anchor\">Input</a>('<a href=\"api/forms/FormArrayName\" class=\"code-anchor\">formArrayName</a>')</span><br><span class=\"member-name\">name</span>: string | <a href=\"api/common/DecimalPipe\" class=\"code-anchor\">number</a> | null</code>\n </td>\n <td>\n \n <p>Tracks the name of the <code><a href=\"api/forms/FormArray\" class=\"code-anchor\">FormArray</a></code> bound to the directive. The name corresponds\nto a key in the parent <code><a href=\"api/forms/FormGroup\" class=\"code-anchor\">FormGroup</a></code> or <code><a href=\"api/forms/FormArray\" class=\"code-anchor\">FormArray</a></code>.\nAccepts a name as a string or a number.\nThe name in the form of a string is useful for individual forms,\nwhile the numerical form allows for form arrays to be bound\nto indices when iterating over arrays in a <code><a href=\"api/forms/FormArray\" class=\"code-anchor\">FormArray</a></code>.</p>\n\n \n </td>\n </tr>\n \n <tr class=\"instance-property\">\n <td>\n <a id=\"control\"></a>\n <code class=\"\"><span class=\"member-name\">control</span>: <a href=\"api/forms/FormArray\" class=\"code-anchor\">FormArray</a></code>\n </td>\n <td><span class=\"read-only-property\">Read-Only</span>\n \n <p>The <code><a href=\"api/forms/FormArray\" class=\"code-anchor\">FormArray</a></code> bound to this directive.</p>\n\n \n </td>\n </tr>\n \n <tr class=\"instance-property\">\n <td>\n <a id=\"formDirective\"></a>\n <code class=\"\"><span class=\"member-name\">formDirective</span>: <a href=\"api/forms/FormGroupDirective\" class=\"code-anchor\">FormGroupDirective</a> | null</code>\n </td>\n <td><span class=\"read-only-property\">Read-Only</span>\n \n <p>The top-level directive for this group if present, otherwise null.</p>\n\n \n </td>\n </tr>\n \n <tr class=\"instance-property\">\n <td>\n <a id=\"path\"></a>\n <code class=\"\"><span class=\"member-name\">path</span>: string[]</code>\n </td>\n <td><span class=\"read-only-property\">Read-Only</span>\n \n <p>Returns an array that represents the path from the top-level form to this control.\nEach index is the string name of the control on that level.</p>\n\n \n </td>\n </tr>\n \n </tbody>\n </table>\n</section>\n\n\n<section class=\"inherited-members-list\">\n <h3 id=\"inherited-from-controlcontainer\">Inherited from <code><a class=\"code-anchor\" href=\"api/forms/ControlContainer\">ControlContainer</a></code><a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/forms/FormArrayName#inherited-from-controlcontainer\"><i class=\"material-icons\">link</i></a></h3>\n <ul>\n \n <li>\n <code><a class=\"code-anchor\" href=\"api/forms/ControlContainer#name\"><span class=\"member-name\">name</span>: string | number | null</a></code>\n </li>\n \n <li>\n <code><a class=\"code-anchor\" href=\"api/forms/ControlContainer#formDirective\"><span class=\"member-name\">formDirective</span>: Form | null</a></code>\n </li>\n \n <li>\n <code><a class=\"code-anchor\" href=\"api/forms/ControlContainer#path\"><span class=\"member-name\">path</span>: string[] | null</a></code>\n </li>\n \n </ul>\n</section>\n\n\n\n<section class=\"inherited-members-list\">\n <h3 id=\"inherited-from-abstractcontroldirective\">Inherited from <code><a class=\"code-anchor\" href=\"api/forms/AbstractControlDirective\">AbstractControlDirective</a></code><a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/forms/FormArrayName#inherited-from-abstractcontroldirective\"><i class=\"material-icons\">link</i></a></h3>\n <ul>\n \n <li>\n <code><a class=\"code-anchor\" href=\"api/forms/AbstractControlDirective#control\">abstract <span class=\"member-name\">control</span>: AbstractControl | null</a></code>\n </li>\n \n <li>\n <code><a class=\"code-anchor\" href=\"api/forms/AbstractControlDirective#value\"><span class=\"member-name\">value</span>: any</a></code>\n </li>\n \n <li>\n <code><a class=\"code-anchor\" href=\"api/forms/AbstractControlDirective#valid\"><span class=\"member-name\">valid</span>: boolean | null</a></code>\n </li>\n \n <li>\n <code><a class=\"code-anchor\" href=\"api/forms/AbstractControlDirective#invalid\"><span class=\"member-name\">invalid</span>: boolean | null</a></code>\n </li>\n \n <li>\n <code><a class=\"code-anchor\" href=\"api/forms/AbstractControlDirective#pending\"><span class=\"member-name\">pending</span>: boolean | null</a></code>\n </li>\n \n <li>\n <code><a class=\"code-anchor\" href=\"api/forms/AbstractControlDirective#disabled\"><span class=\"member-name\">disabled</span>: boolean | null</a></code>\n </li>\n \n <li>\n <code><a class=\"code-anchor\" href=\"api/forms/AbstractControlDirective#enabled\"><span class=\"member-name\">enabled</span>: boolean | null</a></code>\n </li>\n \n <li>\n <code><a class=\"code-anchor\" href=\"api/forms/AbstractControlDirective#errors\"><span class=\"member-name\">errors</span>: ValidationErrors | null</a></code>\n </li>\n \n <li>\n <code><a class=\"code-anchor\" href=\"api/forms/AbstractControlDirective#pristine\"><span class=\"member-name\">pristine</span>: boolean | null</a></code>\n </li>\n \n <li>\n <code><a class=\"code-anchor\" href=\"api/forms/AbstractControlDirective#dirty\"><span class=\"member-name\">dirty</span>: boolean | null</a></code>\n </li>\n \n <li>\n <code><a class=\"code-anchor\" href=\"api/forms/AbstractControlDirective#touched\"><span class=\"member-name\">touched</span>: boolean | null</a></code>\n </li>\n \n <li>\n <code><a class=\"code-anchor\" href=\"api/forms/AbstractControlDirective#status\"><span class=\"member-name\">status</span>: string | null</a></code>\n </li>\n \n <li>\n <code><a class=\"code-anchor\" href=\"api/forms/AbstractControlDirective#untouched\"><span class=\"member-name\">untouched</span>: boolean | null</a></code>\n </li>\n \n <li>\n <code><a class=\"code-anchor\" href=\"api/forms/AbstractControlDirective#statusChanges\"><span class=\"member-name\">statusChanges</span>: Observable<any> | null</a></code>\n </li>\n \n <li>\n <code><a class=\"code-anchor\" href=\"api/forms/AbstractControlDirective#valueChanges\"><span class=\"member-name\">valueChanges</span>: Observable<any> | null</a></code>\n </li>\n \n <li>\n <code><a class=\"code-anchor\" href=\"api/forms/AbstractControlDirective#path\"><span class=\"member-name\">path</span>: string[] | null</a></code>\n </li>\n \n <li>\n <code><a class=\"code-anchor\" href=\"api/forms/AbstractControlDirective#validator\"><span class=\"member-name\">validator</span>: ValidatorFn | null</a></code>\n </li>\n \n <li>\n <code><a class=\"code-anchor\" href=\"api/forms/AbstractControlDirective#asyncValidator\"><span class=\"member-name\">asyncValidator</span>: AsyncValidatorFn | null</a></code>\n </li>\n \n </ul>\n</section>\n\n\n\n\n\n\n \n\n\n \n <section class=\"description\">\n <h2 id=\"description\">Description<a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/forms/FormArrayName#description\"><i class=\"material-icons\">link</i></a></h2>\n <p>This directive is designed to be used with a parent <code><a href=\"api/forms/FormGroupDirective\" class=\"code-anchor\">FormGroupDirective</a></code> (selector:\n<code>[formGroup]</code>).</p>\n<p>It accepts the string name of the nested <code><a href=\"api/forms/FormArray\" class=\"code-anchor\">FormArray</a></code> you want to link, and\nwill look for a <code><a href=\"api/forms/FormArray\" class=\"code-anchor\">FormArray</a></code> registered with that name in the parent\n<code><a href=\"api/forms/FormGroup\" class=\"code-anchor\">FormGroup</a></code> instance you passed into <code><a href=\"api/forms/FormGroupDirective\" class=\"code-anchor\">FormGroupDirective</a></code>.</p>\n\n <h3 id=\"example\">Example<a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/forms/FormArrayName#example\"><i class=\"material-icons\">link</i></a></h3>\n<code-example path=\"forms/ts/nestedFormArray/nested_form_array_example.ts\" region=\"Component\">\nimport {<a href=\"api/core/Component\" class=\"code-anchor\">Component</a>} from '@angular/core';\nimport {<a href=\"api/forms/FormArray\" class=\"code-anchor\">FormArray</a>, <a href=\"api/forms/FormControl\" class=\"code-anchor\">FormControl</a>, <a href=\"api/forms/FormGroup\" class=\"code-anchor\">FormGroup</a>} from '@angular/forms';\n\n@<a href=\"api/core/Component\" class=\"code-anchor\">Component</a>({\n selector: 'example-app',\n template: `\n <form [formGroup]=\"form\" (ngSubmit)=\"onSubmit()\">\n <div <a href=\"api/forms/FormArrayName\" class=\"code-anchor\">formArrayName</a>=\"cities\">\n <div *<a href=\"api/common/NgForOf\" class=\"code-anchor\">ngFor</a>=\"let city of cities.controls; index as i\">\n <input [<a href=\"api/forms/FormControlName\" class=\"code-anchor\">formControlName</a>]=\"i\" placeholder=\"City\">\n </div>\n </div>\n <button>Submit</button>\n </form>\n\n <button (click)=\"addCity()\">Add City</button>\n <button (click)=\"setPreset()\">Set preset</button>\n `,\n})\nexport class NestedFormArray {\n form = new <a href=\"api/forms/FormGroup\" class=\"code-anchor\">FormGroup</a>({\n cities: new <a href=\"api/forms/FormArray\" class=\"code-anchor\">FormArray</a>([\n new <a href=\"api/forms/FormControl\" class=\"code-anchor\">FormControl</a>('SF'),\n new <a href=\"api/forms/FormControl\" class=\"code-anchor\">FormControl</a>('NY'),\n ]),\n });\n\n get cities(): <a href=\"api/forms/FormArray\" class=\"code-anchor\">FormArray</a> {\n return this.form.get('cities') as <a href=\"api/forms/FormArray\" class=\"code-anchor\">FormArray</a>;\n }\n\n addCity() {\n this.cities.push(new <a href=\"api/forms/FormControl\" class=\"code-anchor\">FormControl</a>());\n }\n\n onSubmit() {\n console.log(this.cities.value); // ['SF', 'NY']\n console.log(this.form.value); // { cities: ['SF', 'NY'] }\n }\n\n setPreset() {\n this.cities.patchValue(['LA', 'MTV']);\n }\n}\n\n</code-example>\n\n </section>\n \n\n \n\n \n\n \n\n \n\n\n\n\n<section class=\"inherited-members-list\">\n <h3 id=\"inherited-from-abstractcontroldirective-1\">Inherited from <code><a class=\"code-anchor\" href=\"api/forms/AbstractControlDirective\">AbstractControlDirective</a></code><a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/forms/FormArrayName#inherited-from-abstractcontroldirective-1\"><i class=\"material-icons\">link</i></a></h3>\n <ul>\n \n <li>\n <code><a class=\"code-anchor\" href=\"api/forms/AbstractControlDirective#reset\"><span class=\"member-name\">reset</span>(value: any = undefined): void</a></code>\n </li>\n \n <li>\n <code><a class=\"code-anchor\" href=\"api/forms/AbstractControlDirective#hasError\"><span class=\"member-name\">hasError</span>(errorCode: string, path?: string | (string | number)[]): boolean</a></code>\n </li>\n \n <li>\n <code><a class=\"code-anchor\" href=\"api/forms/AbstractControlDirective#getError\"><span class=\"member-name\">getError</span>(errorCode: string, path?: string | (string | number)[]): any</a></code>\n </li>\n \n </ul>\n</section>\n\n\n\n\n \n \n\n </div>\n</article>\n\n<!-- links to this doc:\n - api/core/OnDestroy\n - api/core/OnInit\n - api/forms\n - api/forms/AbstractControlDirective\n - api/forms/ControlContainer\n - api/forms/FormGroupDirective\n - api/forms/NgControlStatusGroup\n - api/forms/ReactiveFormsModule\n - guide/reactive-forms\n-->\n<!-- links from this doc:\n - /api\n - api/common/DecimalPipe\n - api/common/NgForOf\n - api/core/Component\n - api/core/Input\n - api/forms\n - api/forms/AbstractControl\n - api/forms/AbstractControlDirective\n - api/forms/AbstractControlDirective#asyncValidator\n - api/forms/AbstractControlDirective#control\n - api/forms/AbstractControlDirective#dirty\n - api/forms/AbstractControlDirective#disabled\n - api/forms/AbstractControlDirective#enabled\n - api/forms/AbstractControlDirective#errors\n - api/forms/AbstractControlDirective#getError\n - api/forms/AbstractControlDirective#hasError\n - api/forms/AbstractControlDirective#invalid\n - api/forms/AbstractControlDirective#path\n - api/forms/AbstractControlDirective#pending\n - api/forms/AbstractControlDirective#pristine\n - api/forms/AbstractControlDirective#reset\n - api/forms/AbstractControlDirective#status\n - api/forms/AbstractControlDirective#statusChanges\n - api/forms/AbstractControlDirective#touched\n - api/forms/AbstractControlDirective#untouched\n - api/forms/AbstractControlDirective#valid\n - api/forms/AbstractControlDirective#validator\n - api/forms/AbstractControlDirective#value\n - api/forms/AbstractControlDirective#valueChanges\n - api/forms/ControlContainer\n - api/forms/ControlContainer#formDirective\n - api/forms/ControlContainer#name\n - api/forms/ControlContainer#path\n - api/forms/FormArray\n - api/forms/FormArrayName#description\n - api/forms/FormArrayName#example\n - api/forms/FormArrayName#formarrayname\n - api/forms/FormArrayName#inherited-from-abstractcontroldirective\n - api/forms/FormArrayName#inherited-from-abstractcontroldirective-1\n - api/forms/FormArrayName#inherited-from-controlcontainer\n - api/forms/FormArrayName#ngmodule\n - api/forms/FormArrayName#properties\n - api/forms/FormArrayName#see-also\n - api/forms/FormArrayName#selectors\n - api/forms/FormControl\n - api/forms/FormControlName\n - api/forms/FormGroup\n - api/forms/FormGroupDirective\n - api/forms/ReactiveFormsModule\n - guide/reactive-forms\n - https://github.com/angular/angular/edit/master/packages/forms/src/directives/reactive_directives/form_group_name.ts?message=docs(forms)%3A%20describe%20your%20change...#L110-L213\n - https://github.com/angular/angular/tree/12.0.0-next.7/packages/forms/src/directives/reactive_directives/form_group_name.ts#L110-L213\n-->"
|
|
} |