【发布时间】:2020-09-29 15:33:24
【问题描述】:
我正在尝试将 ngFor 与 CSS crid 一起使用。但是,对于第一列,我需要制作 div 元素并为其着色。
有什么想法可以用ngFor测试它是否是css网格中的第一列吗?
<div class="grid">
<span scope="col">EXAMPLE</span>
<span scope="col">VALUE</span>
<span scope="col">TOKEN</span>
<span scope="col">STATUS</span>
<span *ngFor="let token of tokens">
<div
class="color-box"
[style.backgrouncolor]="token"
*ngIf="token === <first column>; else showString">
</div>
<span #showString>{{token}}</span>
</span>
</div>
export class ColorsComponent {
private tokenMap: Array<object> = [
{
example: '#0075DE',
value: '#0075DE',
name: '$ws-big-stone-A700',
status: 'good',
},
{
example: '#0075DE',
value: '#0075DE',
name: '$ws-big-stone-A700',
status: 'good',
},
{
example: '#0075DE',
value: '#0075DE',
name: '$ws-big-stone-A700',
status: 'good',
},
{
example: '#0075DE',
value: '#0075DE',
name: '$ws-big-stone-A700',
status: 'good',
},
];
tokens = this.tokenMap.map(e => (
Object.values(e).map(e => e)
)).flat();
.grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
border-top: 1px solid black;
border-right: 1px solid black;
}
.grid > span {
padding: 8px 4px;
}
【问题讨论】: