解决办法:
使用setTimeout延迟隐藏
代码:
html:
//触发焦点显示div
<el-input v-model="input" @focus="()=>this.isShowSearch=true" @blur="blurInput" size="small" placeholder="多个关键字段用|分割"></el-input>
//div代码,点击获取值
<div class="baseSearchOptionItem" v-for="(eItem,skey,index) in searchOpationData" :key="skey" @click="getChangeName(skey)">{{eItem.name.cn||'--'}}</div>
js:
blurInput(){
//延迟:用于获取选择的数据
setTimeout(() => {
this.isShowSearch = false
}, 200);
},
getChangeName(val){
this.input=this.searchOpationData[val].name.cn+":"||''
this.searchOpationVal = val
},
这篇博客探讨了在Vue.js中如何利用setTimeout来延迟隐藏某个元素,特别是在输入框失去焦点时,确保用户能够正确选择数据。示例代码展示了在`el-input`组件上绑定焦点和失焦事件,以及在div元素上设置点击事件以获取和显示选择的内容。这种方法有助于提高用户体验,确保数据交互的准确性。

496

被折叠的 条评论
为什么被折叠?



