iview Input 输入一个字符就主动失焦问题的解决

本文介绍了在使用iview组件库时遇到的Input组件在输入一个字符后立即失焦的问题,详细分析了问题原因在于key值绑定方式。通过将key值绑定从`inputItem.name+index`更改为`index`,避免了输入内容引起元素更新,从而解决了Input失去焦点的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题:
今天在使用iview组件库中的Input时,为组件设置了on-blur事件,但是发现每输入一个字符就会失焦触发on-blur事件,导致输入不断触发验证。
解决如下:

<FormItem v-for="(inputItem,index) in nodeData.inputs" :key="index" :label-width="10">
                <span v-if="!editInputName[index]">{{inputItem.name}}</span>
                <Input v-else style="display: inline;" v-model="inputItem.name" @on-blur="outChanged('inputs', index)"/>
                <Icon type="ios-create-outline" v-if="invoke"  size="20" @click="editEndpointName('editInputName', index)" color="#2b85e4"/>
                <span>({{inputItem.datatype}})</span>  
  </FormItem>

主要问题就是,最开始绑定key时,使用的是
inputItem.name+index ,而inputItem.name在input框中内容已被修改,导致元素更新,input元素失去焦点,所以将key值的绑定改为index后,输入内容不会引起更新,就不会失去焦点触发事件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值