Laravel Livewire 仅在表单提交时 ping 到服务器
Laravel Livewire only ping to server on form submit
我正在学习 livewire,最近 tallstack.dev 发现它的可能性。
我注意到的一件事是 livewire 将 ping 到服务器并将 wire:model 变量与后端同步。
在某些情况下,例如当我们注册用户或登录时,我们可能只有很少的输入字段。
我们可能只使用 wire:model.lazy 只在输入焦点不在输入时触发同步到服务器。
这里的主要问题是,没有必要 sync/ping 为用户在其中一个输入字段中键入的当前值提供服务器,因为整个表单仍然不完整。
因此,每当我点击 Tab 键或单击另一个字段时,它都会同步到服务器。
最后,在我点击提交之前,它仍然会最后一次 ping 服务器,因为它也会从输入中失去焦点。
所以如果我的注册表单上有 5 个输入字段,从第一个字段填写到提交按钮点击,将有 6 个 ping 到服务器。
有没有办法 wire:model 并且只在提交点击时一次发送所有输入值?
您可以使用wire:model.defer
仅供参考:https://laravel-livewire.com/docs/2.x/properties#deferred-updating
我正在学习 livewire,最近 tallstack.dev 发现它的可能性。
我注意到的一件事是 livewire 将 ping 到服务器并将 wire:model 变量与后端同步。
在某些情况下,例如当我们注册用户或登录时,我们可能只有很少的输入字段。
我们可能只使用 wire:model.lazy 只在输入焦点不在输入时触发同步到服务器。
这里的主要问题是,没有必要 sync/ping 为用户在其中一个输入字段中键入的当前值提供服务器,因为整个表单仍然不完整。
因此,每当我点击 Tab 键或单击另一个字段时,它都会同步到服务器。
最后,在我点击提交之前,它仍然会最后一次 ping 服务器,因为它也会从输入中失去焦点。
所以如果我的注册表单上有 5 个输入字段,从第一个字段填写到提交按钮点击,将有 6 个 ping 到服务器。
有没有办法 wire:model 并且只在提交点击时一次发送所有输入值?
您可以使用wire:model.defer
仅供参考:https://laravel-livewire.com/docs/2.x/properties#deferred-updating