vue滚动表格,失去所有input框焦点

image.png
表格内循环出来大量的input框,现在是点击一个input框,滚动时焦点会随着滚动而变化,但是并不会触发@change里的函数,所以导致当初已输入完的数据,因为滚动而丢失,所以想监听滚动,一旦滚动,就让所有input失去焦点

<vxe-table height="660" :data="list" show-overflow :loading="loadTable" highlight-current-row highlight-hover-row class="mytable-style" 
    ref="xTable" :span-method="rowspanMethod" @scroll="handleScroll">
        <input type="text" @change="e => onInput(row,e,'Prize')" ref="allinput" v-model="row.prize" @input="row.prize=row.prize.replace( /[^\-\d]/g,'')" placeholder="添加数" class="el-input__inner" style="width:90px;"/>
...
</vxe-table>
handleScroll(){
      console.log(123,this.$refs)
      this.$refs.allinput.blur();
}

但是并没有任何效果,该怎么个思路才好呢??

阅读 3.2k
2 个回答

this.$refs.allinput是不是个数组?遍历blur下试试?

根据你的描述,input是循环出来的
那么this.$refs.allinput是个数组,
你需要循环这个数组再调用focus

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题