Angular 2 - 突出显示更新的表格单元格

2024-05-13

如何在表中刷新改变其值的单元格?

<tr *ngFor="#product of products" (click)="onSelect(product)">
    <td>{{product.productName}}</td>
    <td>{{product.price}}</td>
</tr>

在组件中我有产品的输入:@Input() products:Array<ProductModel>;父组件中有一个测试计时器,每 3 秒更改一次随机产品的价格:

var timer = Observable.timer(2000, 3000);
    timer.subscribe(t => this._changeRandomProduct());



 private _changeRandomProduct() {
    var productCandidate:ProductModel = this.products[randomOf(0, this.products.length)];
    productCandidate.price = productCandidate.price + 1;
}

我如何处理价格单元格中的值变化以在其上添加 css 类?


笨蛋的例子 https://plnkr.co/edit/wti9rGzaOC4oZZLHV38j?p=preview

您可以只传递索引(或其他方式来识别更改的项目)并添加/删除与 CSS 动画一起使用的类

@Component({
  selector: 'my-products',
  styles: [`
.updated {
  animation: blinker 1.7s cubic-bezier(.5, 0, 1, 1) infinite alternate;  
}
@keyframes blinker {  
  from { opacity: 1; color: red;}
  to { opacity: 0; color: black;}
}`],
  template: `
  <tr *ngFor="let product of products; let i = index" (click)="onSelect(product)" [ngClass]="{updated: i === updatedIndex}">
    <td>{{product.productName}}</td>
    <td> - </td>
    <td>{{product.price}}</td>
  </tr>`,
})
export class MyProducts {
  @Input() products:any[];
  @Input() updatedIndex:number;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Angular 2 - 突出显示更新的表格单元格 的相关文章