2017-07-17 85 views
1

我有一个角4反应形式以下代码:角4自举4单选按钮组,按钮将不会保持选中

<div class="btn-group" data-toggle="buttons"> 
     <label class="btn btn-primary" *ngFor="let item of list;let i=index" > 
     <input type="radio" name="someName" [value]="item" (click)="onSelectItem(i)" formControlName="someName" [checked]="isChecked(i)"> {{item}} 
     </label> 
    </div> 

onSelectItem(I)分配的“i”的一个变量的值,isChecked(i)只在i =该变量时才返回true

但是,当我点击按钮时,按钮不会保持检查状态,它们只是保持相同的外观,它让我发疯。

修复程序将不胜感激, 英语是我的第二语言, 感谢你和美好的一天

+0

你可以用plunker重现相同的效果吗? – SaiUnique

+0

https://embed.plnkr.co/QJHmXFVNnAvFliVkF6zc/ –

+0

@TomBarat闯入者有什么问题?我没有看到它会被束缚住。那么我们需要在这种情况下实际删除css样式。所以我不明白你目前的造型与外观有什么不同? – Alex

回答

1

你plunker缺少必要的代码,以使引导运行。所有这些行添加到您的index.html:

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/css/bootstrap.min.css" integrity="sha384-rwoIResjU2yc3z8GV/NPeZWAv56rSmLldC3R/AZzGRnGxQQKnKkoFVhFQhNUwEyJ" crossorigin="anonymous"> 
<script src="https://code.jquery.com/jquery-3.1.1.slim.min.js" integrity="sha384-A7FZj7v+d/sdmMqp/nOQwliLvUsJfDHW+k9Omg/a/EheAdgtzNs3hpfag6Ed950n" crossorigin="anonymous"></script> 
<script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.4.0/js/tether.min.js" integrity="sha384-DztdAPBWPRXSA/3eYEEUWrWCy7G5KFbe8fFjk5JAIxUYHKkDx6Qin1DkWx51bBrb" crossorigin="anonymous"></script> 
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/js/bootstrap.min.js" integrity="sha384-vBWWzlZJ8ea9aCX4pEW3rVHjgjt7zpkNpZk+02D9phzyeVkE+jo0ieGizqPLForn" crossorigin="anonymous"></script> 

Working plnkr

Code from Bootstrap 4

0

如果去掉 “data-toggle="buttons"”,该isChecked功能将正常工作。