在 Ember Table 中,我需要更改特定单元格内容的单元格样式。我需要使用值更新(我已经完成)和在1秒后删除样式(我想要这样做)为单元格添加颜色。
我在setTimeout
内应用颜色和删除颜色时调用了setTimeout
。它不会一直有效。某些单元格颜色未被删除。
(滚动时这会变得更糟)。我假设1秒钟后,Ember无法找到特定的细胞元素。
我使用了Ember表组件并分配了contentBinding
和columnBinding
。我为Ember.Table.TableCell
组件添加了一个模板并添加了类名。
在下面添加了主要功能和修改过的Jsbin示例。
答案 0 :(得分:0)
我不能保证这会回答你的问题,但是在阅读这段代码时,这里有很多东西会突然出现。我认为最好将它们格式化为“答案”。
您应该避免在计算属性中调用setTimeout
之类的副作用。 Ember中的计算属性是惰性的,因此只有在需要它们的值时它们才会更新。在这种情况下,请考虑使用Observer
或仅使用函数。这几乎肯定与您的问题有关。
使用setTimeout
或类似的Ember函数代替Ember.run.later
。这将确保您的代码遵循Ember运行循环。
您的customColor
计算属性不依赖previousColumnValue
,即使它使用它。这与副作用讨论有关:如果可能,您应该尝试重新设计代码。
除此之外,你有很多正确的想法。我很确定这可以用Ember Table完成 - AJAX example是Ember Table单元处理异步的一个例子。
我建议首先尝试使用Ember Table starter kit在JS Bin中创建一个最小示例。如果您需要更多帮助,这也会非常有用 - 它让像我这样的人可以轻松使用您的设置直到它工作。