保持对 Turbo Load 的输入关注?

Dan*_*pin 7 turbolinks hotwire-rails

我有包含在涡轮框架中的内容和搜索表单。当用户在搜索字段中输入内容时,内容会实时更新。问题是搜索字段每次都会失去焦点。

有什么方法可以保持注意力集中吗?它也应该只在打字时进行,而不是与其他表单输入交互。

我可以将搜索字段移到 Turbo 框架之外,但考虑到我喜欢的 div 布局,这并不是那么理想。

小智 1

虽然有点晚了,但我只是为自己的一个项目想出来的。有几点需要留意。进一步来说:

  • 最重要的是,表单的方法应该是POST(在form_with / form_tag / form_for中作为参数添加)

    <%= form_with url: content_search_path,
                  method: :post do |form| %>
    
    Run Code Online (Sandbox Code Playgroud)
  • 添加搜索字段的定义。

  • 为每个用户输入添加自动提交表单(再次在搜索框的定义中)

      <%= form.search_field :content_search,
                            oninput: "this.form.requestSubmit()",
                            placeholder: "Type here",
                            ....
                            autofocus: true %>
    
    Run Code Online (Sandbox Code Playgroud)

希望能帮助到你!