在使用ElementUIPlus时遇到一个输入框光标异常的问题,表现为输入一个字符后光标消失,需要重新聚焦才能继续输入。分析发现,问题源于修改`list`数据导致的表单重绘。解决办法是将`:key`改为使用索引,避免直接修改绑定的数据导致的重绘。通过创建新的数据变量`data`,并使用`data[index].key`和`data[index].value`进行v-model绑定,成功解决了光标丢失问题。
摘要生成于
,由 DeepSeek-R1 满血版支持,
ElementUI Plus中input输入字符光标在输入一个字符后,光标就退出,无法输入需要再次聚焦然后输入一个字符又再次退出。
首先,用Element Plus正常用v-model绑定输入的值是不会造成光标退出的,原因是修改了list数据,导致光标输入,数据刷新,导致el-form重绘,光标失去焦点
list = [
key: '',
value: ''
key: '',
value: ''
<
el-form
v-for
=
"
item in list
"
:key
=
"
item.key
"
>
<
el-form-item
label
=
"
键
"
>
<
el-input
v-model
=
"
item.key
"
>
</
el-input
>
</
el-form-item
>
<
el-form-item
label
=
"
值
"
>
<
el-input
v-model
=
"
item.value
"
>
</
el-input
>
</
el-form-item
>
</
el-form
>
// 问题就在 :key="item.key" input绑定的 item.key 修改后 刷新了list数据
<el-form v-for="(item, index) in list" :key="item.key">
<el-form-item label="键">
<el-input v-model="data[index].key"></el-input>
</el-form-item>
<el-form-item label="值">
<el-input v-model="data[index].value"></el-input>
</el-form-item>
</el-form>
// 使用另一个变量是最容易的解决办法
el-col和el-form要慎用
在一个Vue+element 的项目中添加一个表单,因为布局问题不能使用行内表单模式,于是就想到了结合布局组件使用:(结果 在布局组件中的输入框无法获取焦点,el-col和el-row要慎用)
<el-form :inline="true" :model="formInline" class="demo-form-inline">
<el-col :span="6">
<el-form-item label="客户名称">
vue项目中使用了element ui,使用回车事件时加.native,写法如下:
<el-input @keyup.enter.native="handleEnter($event)" v-model="scope.row.name" :value="scope.row.name"></el-input>
...
<el-form-item
v-for="(domain, index) in interfaceDebugForm.domains"
:label="'参数 ' + (index+1)"
:prop="'domains.' + index + '.value'"
:key="domain.key"
:rules="{required: true, message: 'key和value均不能为空', tr
该问题场景是,在el-dialog框中,嵌套了表单,在表单中使用el-input输入框时,发现输入一个字符后失去焦点不能在继续输入,需要重新点击输入框才能输入内容。部分代码如下:
<el-form-item
v-for="(item,index) in data"
:key="item.label"
:label="'名称'+index"
:value="item.label"
<el-input v-model="item.labe
表格中直接插槽法:
<el-table-column :show-overflow-tooltip="true" prop="number" label="发货数量">
<template slot-scope="scope">
<el-input v-model.number="scope.row.number" @focus="onfoucs(scope)" @blur="blurUsern