实现react-bootstrap-typeahead的组合框行为

2023-12-06

我正在尝试使用react-bootstrap-typeahead控制,但我很惊讶试图让它做我想做的事。实际上,我的页面上有其中两个,其中一个正在执行真正的异步查找,另一个我几乎希望表现得像组合框。

我想要做的是选择一个项目,然后单击下拉菜单改变我的想法并选择另一个项目。但是,如果您尝试这样做,当您再次展开列表时,它会自动过滤为仅显示您选择的项目。

例如,如果我使用基本示例演示页面,然后选择Alabama,点击输入现在只显示Alabama并且没有其他选择。理想情况下,我希望这能让我回到完整列表(这可能吗?)。

enter image description here


是的,这是可能的。这filterByprop 可以采用自定义函数,允许您根据需要过滤结果。因此,根据您链接到的示例,您需要按照以下方式做一些事情:

<Typeahead
  filterBy={(option, text) => {
    if (this.state.selected.length) {
      // Display all the options if there's a selection.
      return true;
    }
    // Otherwise filter on some criteria.
    return option.name.toLowerCase().indexOf(text.toLowerCase()) !== -1;
  }}
  labelKey="name"
  onChange={(selected) => this.setState({selected})}
  options={options}
  placeholder="Choose a state..."
  selected={this.state.selected}
/>

Update从 v3.0.0 开始,filterBy回调传递props代替text:

(option, props) => {
  if (props.selected.length) {
    // Display all the options if there's a selection.
    return true;
  }
  // Otherwise filter on some criteria.
  return option.name.toLowerCase().indexOf(props.text.toLowerCase()) !== -1;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

实现react-bootstrap-typeahead的组合框行为 的相关文章

随机推荐

  • Android 以编程方式设置或重置 SIM 卡 PIN 码

    我已经实现了下面的解锁我的应用程序 此代码仅适用于系统应用程序 所以我已将我的应用程序作为系统应用程序完成 TelephonyManager manager TelephonyManager this getSystemService Co
  • 告诉服务器用户不再上网

    我是node js新手 尝试使用node js和socket io开发群聊 我可以进行群聊 也可以管理系统中的数据 现在 我的问题是离线用户 即未连接到互联网 我有该用户的连接流 就像我执行receiverUserSocket emit s
  • MATLAB 中的邻近灰度依赖矩阵 (NGLDM)

    我想计算一些纹理特征 即 小 大数字强调 数字不均匀性 二阶矩和熵 这些可以从邻近灰度依赖矩阵计算出来 我正在努力理解 实施这一点 关于此方法的信息很少 公开可用 根据这张纸 This matrix takes the form of a
  • 大文件支持在 C 编程中不起作用

    我正在尝试编译一个共享对象 最终在Python中与ctypes一起使用 用于构建对象的命令行是 gcc Wall O3 shared Wl soname borg stream lm m128bit long double fPIC D F
  • Dagger 2 子组件与组件依赖关系

    匕首1号plus 方法是我在以前的应用程序中经常使用的方法 因此我理解您可能希望子组件能够完全访问父图绑定的情况 在什么情况下使用组件依赖代替子组件依赖为什么 组件依赖性 当您想要保持两个组件独立时使用此选项 子组件 当您想要保持两个组件耦
  • MySQL自动ID列

    我想知道如何让 MySQL 自动有一列为每行添加 1 第 1 行将具有 ID 1 第 2 行将获得 ID 2 等等 例如 每次新用户在网站上注册时 他们都会被分配一个 ID 号 从 1 开始 然后是 2 依此类推 ID 用户名 密码1 鲍勃
  • 如果没有可变状态,你怎么能做任何有用的事情呢?

    我最近读了很多关于函数式编程的东西 我能理解其中的大部分内容 但我无法理解的一件事是无状态编码 在我看来 通过删除可变状态来简化编程就像通过删除仪表板来 简化 汽车一样 成品可能会更简单 但祝你好运 让它与最终用户进行交互 我能想到的几乎每
  • 带有在线 MySql/Sql 数据库的 Xamarin Android 应用程序 [已关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我想知道如何将 Android 应用程序与在线数据库连接 我在网上读了很多书 但我仍然悬而未决 我不知道哪种方法最好 我从谷歌看到了类似的东西SQL
  • 将 ItemizedOverlay 添加到我的地图视图

    我正在使用 osm 开发地图应用程序 我想在我的地图视图上创建一些标记 我正在使用以下代码 this mMyLocationOverlay new ItemizedOverlay
  • Pig 相当于 SQL GREATEST / LEAST?

    我试图找到相当于猪SQL 函数GREATEST and LEAST 这些函数是聚合 SQL 函数的标量等效项MAX and MIN 分别 本质上 我希望能够这样说 x LOAD file a b c csv USING PigStorage
  • DiggBar 是如何工作的?

    DiggBar 是如何工作的 我正在尝试制作 ASP NET MVC DiggBar 克隆 仅用于学习目的 有人对如何指定下框架内容的 url 有建议吗 您将如何在 MVC 中构建它 另外 我知道它是一个 iFrame 但他们如何定位它 以
  • 在Python模块中强制执行方法顺序[关闭]

    Closed 这个问题是基于意见的 目前不接受答案 处理必须按一定顺序调用方法的模块的最 Pythonic 方法是什么 例如 我有一个 XML 配置 在执行其他操作之前必须读取该配置 因为该配置会影响行为 The parse config
  • Blazor OnAfterRenderAsync 混淆

    我理解这个想法OnAfterRenderAsyc 但我不明白如何实现我想要的 我有OnInitializedAsync 基本上从文件中获取摘要信息 之后 我想调用另外 2 个方法 并根据这 2 个方法返回的信息 我想将一些 HTML 添加到
  • 使用 Linq 获取 CDATA XML 部分

    我到处搜索寻找访问 CDATA 部分文本区域的方法 并发现使用 linq 的非常温暖的解决方案 我需要提取 CDATA 部分中嵌入的 XML 以便提取不同的信息 我有以下 XML
  • 为什么 JSTL 数字格式值不支持运行时表达式?

    我有这个代码
  • 使用 Javascript 检测 Chrome 操作系统

    我想用 Javascript 检测 Chrome 操作系统 并且我正在使用navigator userAgent为了这 现在 我正在运行 Chrome 操作系统 我的导航器 userAgent 是 Mozilla 5 0 X11 CrOS
  • 如何找到 ComboBoxItem 的 ParentComboBox?

    如何获取 ComboBoxItem 的 ParentComboBox 如果按下 Insert 键 我想关闭打开的组合框 var focusedElement Keyboard FocusedElement if focusedElement
  • 如何使 Laravel 的 Validator $rules 成为可选?

    假设我有User模型有两种方法 User php class User extends Eloquent Validation rules private static rules array user gt unique users re
  • Objective-C 中有一些文字字典或数组语法吗?

    总是可以使用 vararg 方法调用创建 NSArray 和 NSDictionaries NSNumber 例如 NSArray arrayWithObjects a b c nil 这些可以在 LLVM 和 Clang 的新改进中使用内
  • 实现react-bootstrap-typeahead的组合框行为

    我正在尝试使用react bootstrap typeahead控制 但我很惊讶试图让它做我想做的事 实际上 我的页面上有其中两个 其中一个正在执行真正的异步查找 另一个我几乎希望表现得像组合框 我想要做的是选择一个项目 然后单击下拉菜单改