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

发布于 2022-09-13 00:25:15 字数 803 浏览 9 评论 0

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();
}

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

留蓝 2022-09-20 00:25:15

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

残龙傲雪 2022-09-20 00:25:15

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文