【问题标题】:Data storage and access within Vue component or Vuex moduleVue 组件或 Vuex 模块内的数据存储和访问
【发布时间】:2020-03-20 00:01:18
【问题描述】:

我正在尝试确定布局此结构和数据的最佳方式。我反复思考了不同的想法,但仍然没有 100% 确定任何事情。

我制作了一个虚拟滚动数据表组件。它还允许用户选择行以对其执行某些操作。这些操作不是特定于表格的,它们可以是任何东西,因此功能不在表格本身内。我希望行的选择状态存在于表组件本身中。将它放在 store 模块中意味着每个使用该组件的 store 模块都必须再次实现这些功能。但是,对数据执行的操作在表外部,这意味着我需要知道在表中选择了哪些项目。这让我认为选择确实需要在商店模块中,而不仅仅是在表格中。

我是否正确地考虑了这一点?它应该在商店模块中?做这样的事情的最常见方法是什么,这样我就不必为每个模块复制该代码?我应该只制作一个通用节点模块还是导入到 store 模块中使它们发生变异的东西?或者制作一个节点模块,我可以将其导入并传播到已经完成所有这些操作的突变和操作中?

谢谢

【问题讨论】:

  • 使用事件。您的表可以保留其选定行索引(或 ID 等)的内部列表。每当您选择或取消选择一个项目时,都会在列表中发出一个自定义 change 事件。或者,如果您愿意,您可以发出只有单个索引/ID 的 selecteddeselected 事件。

标签: javascript vue.js vuex


【解决方案1】:

你可以在table-row或者其他一些元素上绑定click事件,每次触发,比如点击行,你存储一些数据,id,index等到vuex或者组件的数据,当你释放它取消选择该行。当你想操作它时,你可以过滤 id 找到它,然后你可以进行任何你想要的操作。

【讨论】:

    猜你喜欢
    • 2022-01-22
    • 2020-04-28
    • 2017-12-05
    • 2021-08-30
    • 1970-01-01
    • 2018-09-29
    • 1970-01-01
    • 2021-01-20
    • 2019-03-22
    相关资源
    最近更新 更多