javascript - 订单更改时,Vue For-Loop 生成组件上的输入失去焦点
问题描述
我正在渲染 Vue 组件,例如:
<component v-for="item in sortedItems()" v-bind:key="item.id" :item="item"></component>
组件按照字母顺序排序item.title
:
// Returns a sorted copy of this.items
sortedItems: function() {
return [...this.items].sort((a, b) => (a.title >= b.title ? 1 : -1));
}
每个组件都有一个带有 的输入元素v-model="item.title"
。当我编辑标题并导致项目重新排序时,输入失去焦点。
每个组件都有一个唯一的键,所以我不确定为什么输入会失去焦点。也许组件正在被销毁和重新创建?
我对 Vue 很陌生,所有其他关于这个问题的帖子只是告诉我在使用 v-for 时有一个唯一的键,我有。任何帮助将不胜感激。
编辑:解决方案
在这里为我使用v-model.lazy
代替v-model
作品。这会导致模型仅在输入失去焦点后更新。因此,当输入仍然具有焦点时,我的项目列表的标题不会更改,并且在焦点已经丢失之前不会使用它们。
解决方案
推荐阅读
- splunk - 如何在 Splunk Cloud 中配置 PagerDuty 警报?
- c# - 统一从其他脚本初始化类数组时如何修复NullReferenceException?我无法通过脚本初始化数组
- javascript - 在组件样式 ReactJS 中更改 200 毫秒后的不透明度
- regex - 如何在正则表达式中获取第 1 组和第 2 组
- django - 根据 Django 私人聊天中发送的最后一条消息查询哪些用户对用户进行排序
- c++ - 给定一个数字 n,打印大于或等于 n 的系列的第一个数字
- java - 将地理位置保存到 Postgis 数据库
- c++ - 优化存储指向 std::list 元素的“指针”以创建 Trie
- java - 我怎样才能得到这个数组的最大值来打印?
- tableau-api - Tableau 上的队列