element ui中input在输入一个字符或者删除一个字符就会失去光标,需要重新聚焦的才能继续操作的原因

今天在修改前段页面,添加字段展示的时候出现了一个问题,之前从来没有遇到过,就是el-input输入框输入一个字符之后就失去了光标聚焦,要想重新输入之后,就必须要重新点击光标聚焦才行;

排查之后才发现是绑定的key的原因;我的el-input是循环生产的,需要绑定一个key值,key值我用了一个userId,乍一看没什么问题,问题就在我后续的操作上,我在v-model的时候,也用了一个userId,

这样就造成了,当我修改userId的时候,就会造成key值修改,然后对应的DOM也会重新渲染,所以就会造成上述问题;

<el-input  v-for="params of managerUserList" 
       :key="params.userId"  //key值也用了userId
       v-model="params.userId">
    <template slot="prepend">{{params.name}}    </template>
 </el-input>        

修改后的代码为:

<el-input  v-for="params of addManagerForm.managerUserList" 
                  :key="params.loginName" 
                  v-model="params.userId">
                  <template slot="prepend">{{params.name}}</template>
              </el-input>

key值是唯一标识元素的标志

posted @ 2020-03-30 09:49  我自浮沉,虚浮自我  阅读(2758)  评论(1编辑  收藏  举报