javascript - Searchkit 跟踪搜索框输入的变化

标签 javascript reactjs search-box searchkit

我正在尝试跟踪 SearchBox 上的 onChange 事件库中的组件 Searchkit 。我想在输入字段下方制作某种自动完成弹出窗口。

我有一个 Searchbar 组件和一个 SearchbarPopup 组件。当我在搜索框输入中输入内容时,我希望在输入为空时显示或隐藏。但现在我可以从 console.log 获得响应。

export class Searchbar extends Component {
  constructor(props){
    super(props)
    this.onChange = this.onChange.bind(this)
  }
  onChange(){
    console.log('input has changed!')
  }
  render() {
    return (
      <SearchkitProvider searchkit={searchkit}>
        <Layout>
          <div className="search">
            <div className="search_query">
              <SearchBox
                autofocus={true}
                searchOnChange={true}
                onChange={this.onChange}
                prefixQueryFields={[
                  "Author",
                  "Title"
                ]}
              />
            </div>
          </div>
        </Layout>
      </SearchkitProvider>
    );
  }
}

呈现的 HTML

<div id="cb_Zoekbalk">
    <div class="sk-layout">
        <div class="search">
            <div class="search_query">
                <div class="sk-search-box">
                    <form>
                        <div class="sk-search-box__icon"></div>
                        <input type="text" data-qa="query" class="sk-search-box__text" placeholder="Waar ben je naar op zoek?" value="">
                        <input type="submit" value="search" class="sk-search-box__action" data-qa="submit">
                        <div data-qa="loader" class="sk-search-box__loader sk-spinning-loader is-hidden"></div>
                    </form>
                </div>
            </div>
        </div>
    </div>
</div>

最佳答案

在我的项目中,我还需要在 SearchBox 查询更改上设置监听器。这是我找到的可以获得回复的地方:

searchkit.setQueryProcessor((plainQueryObject) => {
  console.log('input has changed!')

  return plainQueryObject
})

链接到documentation for SearchkitManager

关于javascript - Searchkit 跟踪搜索框输入的变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49013159/

相关文章:

css - 如何在 React 中为伪类动态添加 css 样式

javascript - react-bootstrap 导入不正确

python - axios 然后,catch 没有被调用

javascript - 选择中的搜索框

css - 将搜索框移动到右侧(博主)

javascript 名称中带空格和不带空格的空格区别

javascript - 使用 webpack 设置 block 路径 a 并响应延迟代码分割

仅当单击 'a' 标签内时,Javascript 才会突出显示表行

javascript - 使用自定义标记更改传单默认标记

jquery - 检查输入是否等于 div 中的文本