每当我修改用于呈现 v-for 列表的数组时,都会遇到此问题。
假设我有一个包含三个项目的 v-for 列表:
<ul>
<li v-for="item in items"></li>
<ul></ul>
<ul>
<li>One</li> <!-- Has focus or a specific child component -->
<li>Two</li>
<li>Three</li>
</ul>
向 items 数组添加一个新项目:
<ul>
<li>New Item</li> <!-- Focuses on this item, the child component seems to be moved here -->
<li>One</li>
<li>Two</li>
<li>Three</li>
</ul>
焦点似乎在移动……
请看一个说明问题的小提琴https://jsfiddle.net/gu9wyctr/
我明白这种行为一定有充分的理由,但我需要管理它或完全避免。想法?
编辑:
我刚刚意识到我的解释相当模棱两可。这是一个更新的小提琴来说明问题https://jsfiddle.net/keligijus/d1s4mjj7/
问题是输入文本被移动到另一个元素......
我现实生活中的例子。我有一个类似论坛的帖子列表。每个帖子都有一个回复输入。如果有人在其他用户正在输入回复时发布了新帖子,则该用户正在输入的输入将移动到另一个帖子。就像小提琴中的例子一样。