Angular 将数据从html模板传递到组件typescript文件
下面的表格中有一个选择选项Angular 将数据从html模板传递到组件typescript文件,angular,Angular,下面的表格中有一个选择选项post.id将允许访问个人的idpost.name 假设用户从选项中选择了第二个选项,那么post.id将是2。当用户提交表单时,我想发送此id 我有另一种方法,当用户提交表单时,在contactForm.control.value对象中,我获取用户选择的选项的名称,然后在对象数组中搜索相应的idthis.posts。我想知道是否有另一种方法可以让我不用搜索 HTML文件 <form [formGroup]="contactForm" (ngSubmit)="
post.id
将允许访问个人的idpost.name
假设用户从选项中选择了第二个选项,那么
post.id
将是2。当用户提交表单时,我想发送此id
我有另一种方法,当用户提交表单时,在contactForm.control.value
对象中,我获取用户选择的选项的名称,然后在对象数组中搜索相应的idthis.posts
。我想知道是否有另一种方法可以让我不用搜索
HTML文件
<form [formGroup]="contactForm" (ngSubmit)="onSubmit()" class="apply-form">
<select formControlName="post">
<option ngFor="let post of posts" value="{{post.name}}">
{{post.name}}
<option>
</select>
<button>Submit</button>
</form>
您的代码中缺少许多内容,但让我为您提供获取数据的选项:
<button type='submit'>Submit</button>
如果post只有Id和名称:
<option ngFor="let post of posts" value="{{post}}">
如果您想读取onSubmit方法中的值,那么
onSubmit(){
let data = this.contactForm.value;
// To check if form is valid or not
if(this.contactForm.invalid)
return;
}
希望这会有帮助 您的代码中缺少很多内容,但让我为您提供获取数据的选项:
<button type='submit'>Submit</button>
如果post只有Id和名称:
<option ngFor="let post of posts" value="{{post}}">
如果您想读取onSubmit方法中的值,那么
onSubmit(){
let data = this.contactForm.value;
// To check if form is valid or not
if(this.contactForm.invalid)
return;
}
希望这会有帮助 请更新代码,你在迭代什么<代码>。你能给我们看一下数组吗?你没有在选择中设置任何formControlName,也没有在选项中设置任何ngValue值。你的实际代码是什么?我已经更新了它。如果你想把这个值作为帖子的id,为什么要把它设置为
{{post.name}}
?如果希望将其作为字符串,请使用[value]=“post.id”;如果它不是字符串,请使用[ngValue]=“post.id”。请看,我还需要将所选选项的名称作为值发送到后端请更新代码,您在迭代什么<代码>。你能给我们看一下数组吗?你没有在选择中设置任何formControlName,也没有在选项中设置任何ngValue值。你的实际代码是什么?我已经更新了它。如果你想把这个值作为帖子的id,为什么要把它设置为{{post.name}}
?如果希望将其作为字符串,请使用[value]=“post.id”;如果它不是字符串,请使用[ngValue]=“post.id”。请参阅,我还需要将所选选项的名称作为值发送到后端