Vue数据表行q输入不是模型对象

时间:2017-11-13 20:05:21

标签: vue.js data-persistence

请参阅the azure link for the built codegithub link for the source code。为了解释这个场景,我有一个来自Quasar Framework的 q-datatable 。由于我有嵌套数据,因此我将可折叠for循环中的主数据和可折叠内容中的辅助数据填充为数据表。该页面还具有编辑/查看模式切换,位于右侧过滤器的正下方。我已经格式化了数据表的列,以便在编辑模式中显示 q-input ,并在查看模式中显示文本。请执行以下操作以重现错误。步骤5及以后是产生意外行为的步骤。

  1. 展开the link(open in new window manually)处的其中一行。
  2. 切换可在过滤器下方找到的编辑/视图切换。
  3. 尝试编辑任何行。 观察到的结果:值在离开焦点时保留在文本框中,在页面模式更改回查看模式时也会保留在标签中。
  4. 点击行标题下方的“添加”按钮添加新行。
  5. 尝试键入新添加的行中的任何文本框,然后移至ext文本框。 观察到的结果:当更改为“查看模式”时,值不会在文本框中保留,也不会在标签中显示。
  6. 将模式更改回“查看模式”,然后返回“编辑模式”。 观察到的结果:值在编辑模式下显示在文本框中,但在查看模式下不显示。
  7. 添加新行。 观察到的结果:现在,以前添加的行值都显示在“编辑”和“查看模式”中。

1 个答案:

答案 0 :(得分:0)

问题出在AddRow方法中。文档中指出,vue只能跟踪具有已定义属性的对象的更改。在AddRow方法中,我向模型添加了一个空数据对象。添加具有空值的属性可以解决问题。