HTMX实时搜索优化:实现输入至少3字符才触发请求
实现输入至少3个字符才触发HTMX搜索请求
直接通过HTMX的hx-trigger属性的条件表达式就能实现,无需额外JS或依赖服务端拦截,具体修改如下:
修改后的代码
<input class="form-control" type="search" name="search" placeholder="Begin Typing To Search Users..." hx-post="/search" hx-trigger="keyup changed delay:500ms[target.value.length >= 3], search[target.value.length >= 3]" hx-target="#search-results">
关键说明
- 在每个触发事件(
keyup changed delay:500ms和search)后面添加[target.value.length >= 3]条件,只有当输入框内容长度≥3时,才会触发HTMX请求。 target指代当前的input元素,target.value即输入框的内容,通过判断其长度实现前置拦截,彻底避免不必要的网络往返。
内容的提问来源于stack exchange,提问作者David Moorhouse
相关产品推荐
相关产品推荐

