laravel-livewire - Livewire:模型更改时如何禁用对服务器的获取请求?
问题描述
每次模型中的字段发生更改时,都会向服务器发送一个请求,其中包含组件中的更改。这是疯狂的行为。为什么这样做?为什么不在客户端处理更改?
示例:用户模型。我写了一个电子邮件地址,当您输入每个字符时,就会向服务器发送一个请求。电子邮件地址的长度为 24 个字符 - 向服务器发送了 24 个请求。
我怎样才能禁用它?
解决方案
每次模型中的字段发生更改时,都会向服务器发送一个请求,其中包含组件中的更改。这是疯狂的行为。为什么这样做?为什么不在客户端处理更改?
这是设计使然,当您将input
字段与component
property
.
我怎样才能禁用它?
有几个选项可供您使用:
- 增加
debounce
默认设置为 的值150ms
。
<input type="text" wire:model.debounce.500ms="name">
change
仅在触发输入元素本机事件(用户点击离开)后才向服务器发送请求。
<input type="text" wire:model.lazy="message">
- 推迟将请求发送到服务器,直到执行操作以手动触发服务器请求:
<input type="text" wire:model.defer="query">
<button wire:click="search">Search</button>
推荐阅读
- multithreading - 如何在矩阵乘法的工作进程中处理 n 而不是倍数 p?
- debugging - 在中断时抑制某些 SBCL 调试器输出
- python - 如何让我的 Discord.py 机器人从与我的主代码位于同一文件夹中的 .txt 文件中随机选择“行”?
- c# - Razor 页面中页面模型的单元测试属性
- google-app-maker - 可以更改此查询以添加或吗?
- apache - Apache 服务器不接受来自 f5 的 https 请求
- redhat-brms - 有没有办法将引导决策表添加到决策中心(7.2)中的规则流组?
- sql-server - 使用 case 表达式创建临时表
- three.js - three.js 中的动画 gltf 3d 对象
- java - 在哪里放置自定义验证?