我正在使用带有 rails 的stimulus.js。这是一个简单的任务应用程序。每个待办事项都有一个时间估计,我试图在创建、更新或删除任务时更新使用刺激的总和。
待办事项列表的索引页面(如图所示)在顶部有一个内联表单,用于创建新项目。它还具有用于编辑现有项目的内联表单。
在表格上,我有以下内容:
data-action="click->hello#sumEstimates"
每个待办事项的值都保存在这里:
<span class="estimate-value"><%= task.estimate %></span> mins
然后我使用 js 来查找所有这些元素,document.getElementsByClassName("estimate-value")
并最终对这些值求和。
问题是,在按下提交按钮时,<span class="estimate-value">
它不在 dom 中 - 一旦呈现新的待办事项或现有的待办事项已被编辑,它会在几毫秒后加载。
我正在使用 turbo_frames 和 turbo_streams,因此 dom 更改无需重新加载页面即可发生。
有没有办法让点击事件等待dom改变或者有更好的方法来做到这一点?
我还需要处理删除任务的情况。
非常感谢!