【发布时间】:2019-12-14 15:47:04
【问题描述】:
单选按钮有问题。单击单选按钮时,我需要显示值。比方说,当单击每周时,它会在“选择”元素处显示“每周”。我已经尝试过,但它不起作用。你能教我应该在哪里更改或添加以使其显示。
这是我的代码。
HTML
<form [formGroup]="form" (ngSubmit)="submit()">
<label *ngFor="let order of orders">
<input formControlName="orders" type="radio" name="orders" [value]="order.id" />
{{order.name}}
</label>
<br>
<label *ngFor="let radiobutton of options">
<input type="radio" class="justify-right" formControlName="options" name="options" [value]="radiobutton.id">{{radiobutton.name}}
</label>
<p>Selection: {{options.name}}</p>
<button>submit</button>
</form>
这是我的组件代码
TS
form: FormGroup;
orders = [];
options = []
constructor(private formBuilder: FormBuilder) {
this.form = this.formBuilder.group({
orders: [''],
options: ['']
});
// mimic async orders
of(this.getOrders()).subscribe(orders => {
this.orders = orders;
this.form.controls.orders.patchValue(this.orders[0].id);
});
// getOptions
of(this.getOptions()).subscribe(options => {
this.options = options;
this.form.controls.options.patchValue(this.options[0].id);
})
// synchronous orders
// this.orders = this.getOrders();
// this.form.controls.orders.patchValue(this.orders[0].id);
}
getOrders() {
return [
{ id: 100, name: 'order 1' },
{ id: 200, name: 'order 2' },
{ id: 300, name: 'order 3' },
{ id: 400, name: 'order 4' }
];
}
getOptions(){
return[
{id: 'Once', name: 'Once'},
{id: 'Daily', name: 'Daily'},
{id: 'Weekly', name: 'Weekly'},
{id: 'Interval', name: 'Interval'},
]
}
ngOnInit(){
this.options
}
submit() {
console.log(this.form.value);
}
参考可以参考here
希望大家帮忙..
提前致谢
【问题讨论】:
标签: angular typescript