首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用DataSearch作为Reactivesearch的受控组件?

如何使用DataSearch作为Reactivesearch的受控组件?
EN

Stack Overflow用户
提问于 2019-05-04 03:43:06
回答 1查看 373关注 0票数 1

我是ReactiveSearch库的新手,我实现了带有自动提示的DataSearch组件作为我的站点内SearchBar。我添加了valueonChange,以便将输入值存储为状态,但一旦添加了value属性,就不能再在搜索栏中键入内容。怎么了?

我还想知道当我点击其中一个建议来触发某个事件时,我可以使用什么样的回调函数,我尝试了onClick,但它不起作用。这是我的代码,任何帮助都很感谢!

代码语言:javascript
复制
import * as React from 'react';
import {
  ReactiveBase,
  DataSearch,
} from '@appbaseio/reactivesearch';

import './SearchBar.scss';

export default class SearchBar extends React.Component {
  constructor(props) {
    super(props);
    this.state = { searchTerm: '' };
  }

  handleInputChange = (event) => {
    this.setState({ searchTerm: event.target.value });
  };

  handleSearch = () => {
  // do something...
  };

  public render() {
    return (
      <React.Fragment>
        <ReactiveBase
          app="rooms,floors,assets"
          url="http://localhost:9200"
          headers={{
            'Access-Control-Allow-Origin': '*'
          }}
          style={{ display: 'inline' }}
        >
          <DataSearch
            componentId="SearchRoom"
            dataField={['roomName', 'roomNumber', 'floorName', 'assetName']}
            placeholder="Search for rooms or assets"
            style={{ width: 500, display: 'inline-block' }}
            fuzziness={1}
            value={this.state.searchTerm}
            onChange={this.handleInputChange}
            //how to trigger handleSearch when I click one of the suggestions?
          />
        </ReactiveBase>
      </React.Fragment>
    );
  }
}
EN

回答 1

Stack Overflow用户

发布于 2019-05-08 16:28:55

onChange返回更新后的值,但不返回Synthetic Event。我已经从文档中更新了DataSearch组件的演示,以使用受控行为。

我还添加了一个回调,当你选择任何建议时,它将被调用。您可以利用downShiftProps来实现这一点。

检查应用程序here。你也可以阅读更多关于这个道具here的内容。

希望这能有所帮助!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55976186

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档