Angular 如何仅禁用带有角2的列表中的选项?
我有一个单选按钮列表:Angular 如何仅禁用带有角2的列表中的选项?,angular,Angular,我有一个单选按钮列表: <label *ngFor="let obj of RecipientType;let i = index" class="radio-inline"> <input formControlName="recipientType" type="radio" [value]="obj.id" name="recipientType" (change)="onRecipientChange(obj.id,$event)"
<label *ngFor="let obj of RecipientType;let i = index" class="radio-inline">
<input formControlName="recipientType" type="radio" [value]="obj.id" name="recipientType"
(change)="onRecipientChange(obj.id,$event)">
</label>
此列表有3项。
如何仅禁用第三个选项?
我试着做这样的:[disabled]=“obj.id==3”
,但是我可以看到所有单选按钮都被禁用了。我只想要第三个
我该怎么做
谢谢
<label *ngFor="let obj of RecipientType;let i = index" class="radio-inline">
<input formControlName="recipientType" type="radio" [value]="obj.id" name="recipientType"
(change)="onRecipientChange(obj.id,$event)" [disabled]="i===2'>
</label>
在被动形式中,通常使用的[disabled]=“obj.id==3”
或[disabled]=“i==2”
不起作用
因为我不知道有哪种解决方案可以使用反应式表单,所以只需禁用组中的一个单选按钮。以下方法确实有效,尽管它与反应形式无关:
让我们使用document.getElementById
,通过使用索引为所有单选按钮分配一个唯一的id。然后让我们禁用索引为2
的
因此,输入字段使用您在迭代中声明为索引值的{{i}}
添加了一个id
属性:
例如,在生命周期钩子AfterViewInit
中,让我们使用索引2
禁用输入字段:
ngAfterViewInit(){
document.getElementById('2')。disabled=true;
}
这里有一个
在被动形式中,通常使用的[disabled]=“obj.id==3”
或[disabled]=“i==2”
不起作用
因为我不知道有哪种解决方案可以使用反应式表单,所以只需禁用组中的一个单选按钮。以下方法确实有效,尽管它与反应形式无关:
让我们使用document.getElementById
,通过使用索引为所有单选按钮分配一个唯一的id。然后让我们禁用索引为2
的
因此,输入字段使用您在迭代中声明为索引值的{{i}}
添加了一个id
属性:
例如,在生命周期钩子AfterViewInit
中,让我们使用索引2
禁用输入字段:
ngAfterViewInit(){
document.getElementById('2')。disabled=true;
}
这里有一个
由于ìndex从0开始
它应该是[禁用]=“i==2”
不幸的是它不工作?你能做一个plunkr吗?@AdrianBalasa这个答案不适用于反应式表单,所以不要担心plunker:)既然ìndex开始于0
它应该是[禁用]=“i==2”
不幸的是它不起作用?你能做一个plunkr吗?@AdrianBalasa这个答案不适用于被动形式,所以不要担心plunkr:)你为什么不用一个
来包装
元素,然后对特殊输入做你想做的。你为什么不用一个
来包装
元素呢,然后对特殊输入执行您想要执行的操作。