首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在使用alpine.js时阻止livewire更新输入

如何在使用alpine.js时阻止livewire更新输入
EN

Stack Overflow用户
提问于 2022-05-14 16:01:51
回答 1查看 535关注 0票数 0

所以我使用livewire和alpine.js,在填写输入框时,我试图阻止客户机与服务器的大量联系(我已经知道您可以使用像.lazy这样的方法来等待x段时间),我尝试过使用alpine.js,但即使这样,它也会针对每次击键更新服务器,有什么方法可以防止这种情况,所以它只会在论坛上提交吗?谢谢

代码语言:javascript
复制
<div x-data>
<form x-on:submit.prevent="$wire.post()">
    <label for="title">Post Title</label>
    <input id="title" type="text" class="form-control" x-model="$wire.title" />
    <label for="content">Post Content</label>
    <textarea id="content"  class="form-control" rows="4" x-model="$wire.content" required></textarea>
    <button class="btn btn-primary" type="submit">Post</button>
</form>
EN

回答 1

Stack Overflow用户

发布于 2022-05-15 19:25:50

我认为您正在寻找"wire:model.defer“或添加".defer”在您的alpinejs -这将等待执行一个动作来调用服务器。这将避免每次键入密钥时都调用服务器。

他们在AlpineJS文档中使用的示例是:

代码语言:javascript
复制
<div x-data="{ open: @entangle('showDropdown').defer }">

这将不会被发送到服务器,直到另一个livewire按钮被按下页面,它将被发送与该调用。

如果您只想在这里使用Livewire,您可以这样做:

代码语言:javascript
复制
<form>
    <label for="title">Post Title</label>
    <input id="title" type="text" class="form-control" wire:model.defer="title" />
    <label for="content">Post Content</label>
    <textarea id="content"  class="form-control" rows="4" wire:model.defer="content" required></textarea>
    <button wire:click.prevent="post()" class="btn btn-primary" type="button">Post</button>
</form>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72241921

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档