每次修改用于呈现v-for列表的数组时,我都会遇到此问题。VueJS v-对于不想要的行为
比方说,我有三个项目的V型的列表:
<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>
添加一个新的项目,以项目数组:
<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/
的问题是,输入的文本被移动到另一个元素...
我的现实生活中的例子。我有一个类似论坛的帖子列表。每个帖子都有一个回复的输入。如果某人在其他用户输入回复时发布了新帖子,则该用户输入的内容将被移至另一帖子。就像小提琴中的例子。
有你尝试使用vues refs而不是Dom选择器?这些参考文献应相应更新,并始终给予您正确的参考。当你在vue中使用Dom选择器或jQuery时,你应该已经假定你正在做的事是一个不好的习惯。 –