如何在EmberTable中应用'Blink'功能?
How to apply 'Blink' feature in Ember Table?
在EmberTable中,我需要随着特定单元格内容的变化而改变单元格的样式。我需要通过值更新(我已经完成)为单元格添加颜色,并在 1 秒后 删除样式(我想这样做)。
我在 setTimeout
中应用颜色和删除颜色时调用了 setTimeout
。它并非一直有效。一些单元格颜色不会被删除。
(滚动时情况会变得更糟)。我假设 1 秒后,Ember 找不到特定的单元格元素。
我使用 Ember table 组件并分配了 contentBinding
和 columnBinding
。我为 Ember.Table.TableCell
组件添加了一个模板并添加了 class 个名称。
添加了 Main 函数并修改了下面的 Jsbin 示例。
我不能保证这会回答您的问题,但在阅读这段代码时,我突然想到了很多事情。我认为最好将它们格式化为 "answer".
您应该避免副作用,例如在计算的 属性 中调用 setTimeout
。 Ember 中的计算属性是惰性的,因此它们仅在需要它们的值时更新。在这种情况下,请考虑使用 Observer
,或仅使用一个函数。这几乎肯定与您的问题有关。
而不是 setTimeout
,使用 Ember.run.later
或类似的 Ember 函数。这将确保您的代码遵守 Ember 运行 循环。
您的 customColor
计算 属性 不依赖于 previousColumnValue
,即使它使用它。这与副作用讨论有关:如果可能,您应该尝试重新构建代码。
除此之外,你还有很多正确的想法。我相当确定这可以通过 Ember Table 来完成 - AJAX example 是 Ember Table 单元格处理异步的一个例子。
我建议首先尝试使用 Ember Table starter kit 在 JS Bin 中创建一个最小示例来进行调试。如果您需要更多帮助,这也会很有用 - 它可以让像我这样的人轻松使用您的设置,直到它起作用。
在EmberTable中,我需要随着特定单元格内容的变化而改变单元格的样式。我需要通过值更新(我已经完成)为单元格添加颜色,并在 1 秒后 删除样式(我想这样做)。
我在 setTimeout
中应用颜色和删除颜色时调用了 setTimeout
。它并非一直有效。一些单元格颜色不会被删除。
(滚动时情况会变得更糟)。我假设 1 秒后,Ember 找不到特定的单元格元素。
我使用 Ember table 组件并分配了 contentBinding
和 columnBinding
。我为 Ember.Table.TableCell
组件添加了一个模板并添加了 class 个名称。
添加了 Main 函数并修改了下面的 Jsbin 示例。
我不能保证这会回答您的问题,但在阅读这段代码时,我突然想到了很多事情。我认为最好将它们格式化为 "answer".
您应该避免副作用,例如在计算的 属性 中调用
setTimeout
。 Ember 中的计算属性是惰性的,因此它们仅在需要它们的值时更新。在这种情况下,请考虑使用Observer
,或仅使用一个函数。这几乎肯定与您的问题有关。而不是
setTimeout
,使用Ember.run.later
或类似的 Ember 函数。这将确保您的代码遵守 Ember 运行 循环。您的
customColor
计算 属性 不依赖于previousColumnValue
,即使它使用它。这与副作用讨论有关:如果可能,您应该尝试重新构建代码。
除此之外,你还有很多正确的想法。我相当确定这可以通过 Ember Table 来完成 - AJAX example 是 Ember Table 单元格处理异步的一个例子。
我建议首先尝试使用 Ember Table starter kit 在 JS Bin 中创建一个最小示例来进行调试。如果您需要更多帮助,这也会很有用 - 它可以让像我这样的人轻松使用您的设置,直到它起作用。