Melanjutkan dari modul sebelumnya, kali ini kita akan membahas menggunakan default value pada form.
Contohnya, kita akan menggunakan default value pada element select.
Untuk default value, kita dapat gunakan one-way property binding, Buka file app.component.html, lalu tambahkan
<select id="secret" class="form-control" [ngModel]="defaultSecret" name="secret">
berikutnya kita perlu definisikan nilai property defaultSecret pada app.component.ts, misalnya kita akan gunakan value pet sebagai default.
defaultSecret = 'pet';
Berikut isi lengkap file app.component.html
<div class="container">
<div class="row">
<div class="col-xs-12 col-sm-10 col-md-8 col-sm-offset-1 col-md-offset-2">
<form (ngSubmit)="onSubmit()" #f="ngForm">
<div id="user-data">
<div class="form-group">
<label for="username">Username</label>
<input type="text" id="username" class="form-control" ngModel name="username" required>
</div>
<button class="btn btn-default" type="button">Suggest an Username</button>
<div class="form-group">
<label for="email">Mail</label>
<input type="email" id="email" class="form-control" ngModel name="email" required email #vemail="ngModel">
<span *ngIf="!vemail.valid && vemail.touched">Please input valid email...</span>
</div>
</div>
<div class="form-group">
<label for="secret">Secret Questions</label>
<select id="secret" class="form-control" [ngModel]="defaultSecret" name="secret">
<option value="pet">Your first Pet?</option>
<option value="teacher">Your first teacher?</option>
</select>
</div>
<button class="btn btn-primary" type="submit" [disabled]="!f.valid">Submit</button>
</form>
</div>
</div>
</div>
file app.component.ts
import { Component, ViewChild } from '@angular/core';
import { NgForm } from '@angular/forms';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
@ViewChild('f') myForm! : NgForm;
//default value
defaultSecret = 'pet';
suggestUserName() {
const suggestedName = 'Superuser';
}
// pendekatan pertama
// onSubmit(form: NgForm){
// console.log(form);
// }
// pendekatan @ViewChild
onSubmit(){
console.log(this.myForm);
}
}
Jika Anda jalankan, sesuai ekspektasi, element select akan ditampilkan dengan default value pet.