Joh*_* w. 1 html css typescript bootstrap-4 angular
我有一个用来存储一些信息的对象。为了呈现这些数据,我使用了 * ngFor 为每个实例创建一行。
当我单击其中一行时,有没有办法添加边框?边框只能添加到单击的行上,如果单击另一行后,边框从上一行消失并出现在当前行中。
我怎样才能做到这一点?
.html
<div *ngFor="let item of objects; let i = index" style="width: 100%;">
<div class="d-flex flex-row divs">
<div>
<span>{{item.id}}</span>
</div>
<div>
<div>
<span>{{item.name}}</span>
</div>
</div>
<div style="margin-left:auto">
<button>click</button>
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
您可以ngClass根据您单击的项目动态设置类。
例如 :
<div class="d-flex flex-row divs"
[ngClass]="{'active' : (selectedItem.id === item.id)}"> <div>
...
</div>
Run Code Online (Sandbox Code Playgroud)
然后单击按钮,您可以传递被单击的项目:
<div style="margin-left:auto">
<button (click)="setItem(item)">click</button>
</div>
Run Code Online (Sandbox Code Playgroud)
在component.ts文件中您可以按如下方式设置所选项目:
public selectedItem :any = {};
setItem(item){
this.selectedItem = item
}
Run Code Online (Sandbox Code Playgroud)
现在在 css 中你可以有.active如下的 css 类:
.active{
border : 1px solid red;
}
Run Code Online (Sandbox Code Playgroud)
这是工作示例:demo。
| 归档时间: |
|
| 查看次数: |
1510 次 |
| 最近记录: |