Angular 根据单选按钮选择,使用基于模板的表单填充字段进行单选按钮绑定
我有一张有三个单选按钮的表格。默认情况下选择第一个。第二个必须有条件地显示一个输入字段,只要单击它。在选择第三个选项时,用一些值填充该输入字段Angular 根据单选按钮选择,使用基于模板的表单填充字段进行单选按钮绑定,angular,typescript,angular4-forms,Angular,Typescript,Angular4 Forms,我有一张有三个单选按钮的表格。默认情况下选择第一个。第二个必须有条件地显示一个输入字段,只要单击它。在选择第三个选项时,用一些值填充该输入字段 div> <h2>{{title}}</h2> <label class="form_label" for="account">Output Type</label> <div class="output_row_styles"> <
div>
<h2>{{title}}</h2>
<label class="form_label" for="account">Output Type</label>
<div class="output_row_styles">
<span><input type="radio" [value]="pdf" name="output" (click)="outputType ='pdf'" [checked]="outputType =='pdf'"> PDF</span>
<span><input type="radio" [value]="email" name="output" (click)="outputType ='email'" [checked]="outputType =='email'"> Email </span>
<span><input type="radio" [value]="legal" name="output" (click)="outputType ='transfer'" [checked]="outputType =='transfer'"> Transfer</span>
</div>
<div *ngIf = "outputType == 'email' || outputType == 'transfer'" class="output_type_div">
<div class="row_styles">
<label class="form_label" for="recipient_email">Recipient E-mail address</label>
<input type="text" [value]="outputType == 'transfer' ? 'abc@xyz.com' : ''" name="recipient_email" class="input-text" [(ngModel)]="recipientEmailAddress"
required/>
</div>
</div>
div>
{{title}}
输出类型
PDF
电子邮件
转移
收件人电子邮件地址
按顺序单击它们,即(第二次和第三次)可以正常工作。但选择第一个时选择第三个不会填充字段
试图找到任何相关的解决方案或问题,但没有帮助。可能是一个更改检测问题。但不确定。您可以改用
[隐藏]
:
<div [hidden] = "outputType != 'email' && outputType != 'transfer'" class="output_type_div">
<div class="row_styles">
<label class="form_label" for="recipient_email">Recipient E-mail address</label>
<input type="text" [value]="outputType == 'transfer' ? 'abc@xyz.com' : ''" name="recipient_email" class="input-text" [(ngModel)]="recipientEmailAddress"
required/>
</div>
收件人电子邮件地址
根据答案更新了我的代码,并使用了更优化的代码:
div>
<h2>{{title}}</h2>
<label class="form_label" for="account">Output Type</label>
<div class="output_row_styles">
<span><input type="radio" [value]="pdf" name="output" (click)="outputType ='pdf'" [checked]="outputType =='pdf'"> PDF</span>
<span><input type="radio" [value]="email" name="output" (click)="outputType ='email'" [checked]="outputType =='email'"> Email </span>
<span><input type="radio" [value]="legal" name="output" (click)="outputType ='transfer'" [checked]="outputType =='transfer'"> Transfer</span>
</div>
<div [hidden] = "outputType == 'pdf'" class="output_type_div">
<div class="row_styles">
<label class="form_label" for="recipient_email">Recipient E-mail address</label>
<input type="text" [value]="outputType == 'transfer' ? 'abc@xyz.com' : ''" name="recipient_email" class="input-text" [(ngModel)]="recipientEmailAddress"
required/>
</div>
</div>
div>
{{title}}
输出类型
PDF
电子邮件
转移
收件人电子邮件地址