【发布时间】:2020-03-20 00:01:18
【问题描述】:
我正在尝试确定布局此结构和数据的最佳方式。我反复思考了不同的想法,但仍然没有 100% 确定任何事情。
我制作了一个虚拟滚动数据表组件。它还允许用户选择行以对其执行某些操作。这些操作不是特定于表格的,它们可以是任何东西,因此功能不在表格本身内。我希望行的选择状态存在于表组件本身中。将它放在 store 模块中意味着每个使用该组件的 store 模块都必须再次实现这些功能。但是,对数据执行的操作在表外部,这意味着我需要知道在表中选择了哪些项目。这让我认为选择确实需要在商店模块中,而不仅仅是在表格中。
我是否正确地考虑了这一点?它应该在商店模块中?做这样的事情的最常见方法是什么,这样我就不必为每个模块复制该代码?我应该只制作一个通用节点模块还是导入到 store 模块中使它们发生变异的东西?或者制作一个节点模块,我可以将其导入并传播到已经完成所有这些操作的突变和操作中?
谢谢
【问题讨论】:
-
使用事件。您的表可以保留其选定行索引(或 ID 等)的内部列表。每当您选择或取消选择一个项目时,都会在列表中发出一个自定义
change事件。或者,如果您愿意,您可以发出只有单个索引/ID 的selected和deselected事件。
标签: javascript vue.js vuex