【发布时间】:2019-08-16 09:51:28
【问题描述】:
我想用响应式表单来实现我的选择,我是新手,所以这是我的代码:
我已经尝试使用文档和提供的示例来实现它,但是没有运气并且破坏了我的单选单选按钮选择输入。我需要在我的 .ts 文件和我的 html sn-p 中实现什么来实现这一点?
这是我的工作 HTML 片段:
<div *ngFor="let stream of myList">
<label>
{{ stream.sys }}
</label>
<p *ngFor="let type of stream.types">
<tr>
<input type="radio" name="nav"/>
{{ type.type.label }}
</tr>
</p>
</div>
我正在使用输入类型单选循环遍历外部列表和内部列表。一切正常。现在我想将它实现为反应形式:
这是我想要的输出,例如:
Test
o Number 1
Test2
o Number 10
o Number 20
Test3
X Number 100
Value: Number 100 // or some id i have in my input data -> type.type.id
此导航需要选择一个项目,并且我想在我的列表中显示表单值作为第一步。
我尝试过这样的事情:
.html
<form [formGroup]="form">
<div *ngFor="let stream of myList">
<label>
{{ stream.sys }}
</label>
<p *ngFor="let type of stream.types">
<tr>
<input type="radio" name="name" formControlName="name" />
{{ type.type.label }}
</tr>
</p>
</div>
</form>
<p>
Value: {{ form.value | json}}
</p>
.ts
form: FormGroup;
constructor(private formBuilder: FormBuilder) {
this.form = formBuilder.group({
name: ['']
});
【问题讨论】:
-
您好,您的问题有点令人困惑。你说你希望它是一个单一的选择,但你仍然在你的例子中使用单选按钮。请你澄清一下?
-
@AndrewJuniorHoward 我的意思是所有单选按钮的完整表单,我猜单选有点令人困惑。我修改了它,我希望在我的完整列表中只选择一个。这适用于我上面的示例。我认为我的表单控件缺少值装饰器...?
-
你有这方面的 stackblitz 例子吗?如果没有看到传入的数据,很难判断这一点。
-
你需要给你的收音机一些价值 [value]="..."
<input type="radio" name="name" [value]="type.type.value" formControlName="name" /> -
@Eliseo 谢谢你的回答,我自己得到的有点不同,但你的更好。谢谢!
标签: javascript angular output angular-reactive-forms formbuilder