解决antdv 中input每输入一个字符就失去焦点

1、问题出现
  我用v-for循环,里面包括a-input节点,但每次按输入或者删除键,都会失去焦点,不能连贯输入就很懊恼!!
2、问题猜想
  可能是因为代码中哪里触发了render,使组件进行重新渲染,所以输入框自然就失去了焦点。
3、解决方法
  最终还是代码问题,v-for循环里的 key 值是包括a-input的输入的内容,每输入一个字符,key就会改变,引发render重新渲染。

<span v-for="(key, value) in entity_item"
     :key="key"
     v-show="value === columns_item.model" >
  <a-input v-model="entity_item[columns_item.model]" />
</span>

只要把key变成常量就可以了

<span v-for="(key, value) in entity_item"
     :key="value"
     v-show="value === columns_item.model" >
  <a-input v-model="entity_item[columns_item.model]" />
</span>

4、结论
  写代码要注意:v-for的key是否是可改变的,并且该key值与你所输入的控件绑定或会被该控件间接影响。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容