html - Angular / CSS删除由ngFor呈现的动态数据的顶部边框-仅删除第一行的顶部边框
问题描述
我有一个这样的html
<div class="scx-individual-supplier" *ngFor="let request of suppliers" >
<div>
<scx-indv-supplier
class="row"
*ngIf="!(request.status === 'CANCELLED' && request.durationDays > 179)"
[request]="request"
[requestId]="request.requestId"
></scx-indv-supplier>
</div>
</div>
将 CSS 应用于 scx-individual-supplier 并使用了第一个孩子,但它不会删除第一行的顶部边框
.scx-individual-supplier{
border-top: 1px solid #d0c9c9;
}
.scx-individual-supplier:first-child {
border-top: none !important;
}
解决方案
使用 ngFor 的索引:
*ngFor="let item of items; let i = index"
然后在你的元素中使用
[ngClass]={i === 0 ? 'styleWithoutTopBorder' : 'styleWithTopBorder'}
这 ?是一个三元表达式,它将根据 i === 0 的结果选择 css 类。
更新:带代码
CSS:
.noTopBorder { border: '1px solid black'; border-top: none; } .withTopBorder { border: '1px solid black'; }
html:
<div class="scx-individual-supplier" *ngFor="let request of suppliers; let i = index" [ngClass]="{i === 0 ? 'noTopBorder' : 'withTopBorder'}" > <div> <scx-indv-supplier class="row" *ngIf="!(request.status === 'CANCELLED' && request.durationDays > 179)" [request]="request" [requestId]="request.requestId" ></scx-indv-supplier> </div> </div> <div>
推荐阅读
- javascript - 让组件显示已在 React 中循环的数据的最佳方式
- java - 我无法为数组索引赋值。我必须为各个变量赋值
- java - Jsoup 没有完全获取原始 html 代码
- python - 为每个 x 值获取最高 y
- c++ - 释放 QT 中样式表使用的内存
- css - 当使用 Vue.js 将文本设置为“已完成”时,将 css 类动态添加到 span 标签
- python - 即使在指定用户代理之后,解析器也会产生 403
- java - 扫描仪从数组中的第二个对象开始跳过 nextLine()
- http - 为什么谷歌应用脚本 dopost() 的返回响应会被重定向?
- ruby-on-rails - 用于自定义事件的 StimulusJS EventListener