【问题标题】:Slow v-model for buefy input, v-model.lazy not working either用于 buefy 输入的慢 v-model,v-model.lazy 也不起作用
【发布时间】:2025-11-30 14:25:01
【问题描述】:

当在连接到我的 buefy 数据表的 buefy 表单中触发 GO 按钮时,我有几个输入框通过 v-model 连接到数据。

我的表中的行可以是 2000 到 3000,我的分页不能少于每页 250。

我尝试使用v-model.lazy,但它似乎不适用于b-input(buefy 输入字段)。

现在的问题是输入的初始填充并不慢,但是当表格已满并且用户尝试编辑输入字段时,字段会出现延迟。

当我将分页设置为每页 50 个结果时,没有滞后,但我的问题是我不能有 50 个结果,我必须每页有 250 个。

谁能想到 Vue 中的解决方案?

【问题讨论】:

    标签: input v-model buefy


    【解决方案1】:

    所以发现 v-model.lazy 不适用于自定义组件(似乎 Vue 限制了自定义组件),也就是说你需要有 :value + @change.native

    下面是一个例子:

    :value="data"
    @change.native="data = $event.target.value"
    

    【讨论】:

    • 您好,遇到与 b-input 相同的问题,但它也会影响所有其他输入以及 b-autocomplete 。如果您还可以通过所有输入分享您是如何解决这个问题的,那将非常有帮助。
    • 你能提供一个链接到你的项目@PadamSethia 吗?
    • 嘿,感谢您的回复。但是通过将我的输入分解成子组件来让它工作。
    【解决方案2】:

    我在 b-table 的组件中遇到了同样的问题,b-input 很慢。

    出于某种原因,即使我使用了 <input v-model="item.value">,还是很慢。

    我通过使用此输入创建子组件来解决此问题

    【讨论】:

    • 嗨,你能分享你的子组件代码吗,真的很有帮助。谢谢
    【解决方案3】:

    您必须创建一个单独的行组件,这样 vue 只需在更改时重新渲染您的一行。否则 vue 将不得不重新渲染每一行

    【讨论】: