I am trying to implement select
in Angular 5 but I am constantly getting this
I've tried many StackOverflow questions already, The only difference is - My components are inside another module within the application which is at the end injected into the main module eventually. I've also tried injecting the FormsModule
inside the inner module. I have tried importing ReactiveFormsModule
but didn't work.
I've added FormsModule
to imports like this
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { AppRoutingModule } from './app-routing.module';
@NgModule({
declarations: [
...CombineComponents
],
imports: [
BrowserModule,
FormsModule,
AppRoutingModule,
HttpClientModule
]
});
and here is my component markup
<label for="ctn" class="d-inline-block pl-1 semi-bold">Current active number</label>
<select
#selectElem
class="custom-select"
id="ctn"
(change)="onCTNChange(selectElem.value)"
formControlName="state"
>
<option value="" disabled>Choose a state</option>
<option *ngFor="let ctn of availableCTN" [ngValue]="ctn.value">
{{ctn.text}}
</option>
</select>
I was doing a very silly mistake and got into this issue.
[ngValue]="ctn.value"
[value]
I was importingformsModule
inside parent module, I should have imported it in child module to make[(ngModel)]
work[value]
should be[(value)]
if we want the default selection show up.so my final component code is.
Use
value
: