Javascript Vue.js输入字段在输入一个字符后失去焦点

Javascript Vue.js输入字段在输入一个字符后失去焦点,javascript,focus,vue.js,Javascript,Focus,Vue.js,我有一个带有输入字段的视图,它可以被给定的按钮乘以。问题是,在输入任何字符后,输入字段的焦点都会丢失。您必须再次单击以输入另一个字符 有人知道问题出在哪里吗 我的模型: 'model': [ ..., 'filter': [ ..., 'something': [ 'string' ] ] ] 我的代码: <div v-for="(something, index) in model.filt

我有一个带有输入字段的视图,它可以被给定的按钮乘以。问题是,在输入任何字符后,输入字段的焦点都会丢失。您必须再次单击以输入另一个字符

有人知道问题出在哪里吗

我的模型:

'model': [
    ...,
    'filter': [
        ...,
        'something': [
            'string'
        ]
    ]
]
我的代码:

<div v-for="(something, index) in model.filter.something" v-bind:key="something">
    <input type="text" v-model.trim="model.filter.something[index]"/>
</div>

问题在于,您正在将一个更改的值用作
键。Vue希望
指示项目的唯一标识符。更改它时,它将成为一个新项目,必须重新渲染

在下面的代码片段中,我有两个循环,都使用相同的数据源。第一个是按设置方式键入的。第二种方法使用
index
(这可能不是您所需要的,但关键是使用您正在编辑的内容以外的内容;在本例中,无论如何都不需要
key
)。第一个展示了你所描述的失去焦点,第二个正如预期的那样

newvue({
el:“#应用程序”,
数据:{
“模型”:{
“过滤器”:{
“某物”:[
“字符串”
]
}
}
}
});

{{something}}
{{something}}

您包含的代码很复杂。您能创建一个吗?@RoyJ Done,谢谢您的第一次反馈您将
某物
显示为一个数组,但也引用
model.something.inOrExclude
model.filter.something,它看起来是一个数组。所有的
都是相关的吗?它们是相关的,但不是直接的,我认为这不是问题的一部分。但是我注意到,我可以将代码最小化一点。对我来说非常适合,是的,你绝对正确。一个键必须是特定的,这是非常有意义的:使用索引作为键对我来说也是有效的。非常感谢。非常有魅力!非常感谢。非常感谢。幸运的是,我在试图找出答案之前先用谷歌搜索了一下:如何理解结构是一个很好的答案。非常感谢。