搜索结果使用reactjs突出显示结果

2024-01-13

我试图获得像 YouTube 这样的搜索结果。只是尝试,但我遇到了一些问题。我已经在codesandbox中制作了工作应用程序here https://codesandbox.io/s/react-codesandbox-kyd4g.

我有一个搜索框,当您输入任何内容时,它会显示搜索结果,例如下拉菜单,例如,当您在 YouTube 中搜索时,您将能够看到下面的结果,同样的事情/

我面临的问题是:

假设我输入“a”,现在您将能够在滚动的搜索结果 div 中看到总共 6 个结果。

1)所以第一个结果本身将显示突出显示的CSS。当我悬停或使用按键导航时,只有高亮CSS应该出现,我怎样才能实现这一点。

2)所以现在如果我将鼠标悬停在第二个或结果突出显示CSS将显示在第二个或第三个,但第一个结果也会显示CSS。我只想要一次只有一个高亮CSS。 (youtube 搜索中也有同样的功能)

3)现在只有三个元素可见,其余三个元素需要滚动,当我通过箭头键导航时,滚动没有发生,我怎样才能实现这一点滚动到视图 https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollIntoView API

4)在 6 个结果中,搜索字符串是“a”,我怎样才能使该字符串变得强大,使其保持突出显示,这样无论您搜索什么,它都应该突出显示

任何帮助表示赞赏!如果您有任何疑问,请告诉我


考虑到我们在此沙箱中更新的代码:https://codesandbox.io/s/react-codesandbox-5fvk9 https://codesandbox.io/s/react-codesandbox-5fvk9

您真正需要的是onMouseEnter()事件处理程序让一切正常工作。

Handler

  handleMouseEnter = index => {
    this.setState({
      cursor: index,
    })
  }

Markup

{searchResults.map((item, index) => {
     return (
         <li
            ref={ref => (this.itemRefs[index] = ref)}
            onClick={() => this.goToItem(index)}
            className={cursor === index ? 'active' : null}
            onMouseEnter={() => this.handleMouseEnter(index)}
         >
          <label className="first-lb">{item.id}</label>
          <label className="second-lb">{item.name}</label>
          <label className="third-lb">{item.address}</label>
        </li>
     )
})}

这样,一次只有悬停或向下箭头/向上箭头之一生效。因此只有一个列表项会被突出显示。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

搜索结果使用reactjs突出显示结果 的相关文章

随机推荐

  • HTML5:Iframe 没有滚动?

    当涉及到 HTML5 时 不再支持滚动属性 但我仍然需要删除滚动条 如何做到这一点 在 HTML5 中没有滚动属性 因为 它的功能由 CSS 更好地处理 参见http www w3 org TR html5 diff http www w3
  • Pandas 沿着多索引和单独索引进行切片

    我已经开始将 Pandas 用于一些大型数据集 并且大多数情况下它的效果都很好 不过 我对指数有一些疑问 我有一个具有三个级别的 MultiIndex 比如说 a b c 如何沿索引 a 进行切片 我只想要 a 5 7 10 13 的值 执
  • Android 地图 api-2 禁用点击

    我正在将我的一个应用程序迁移到 Android 地图 V2 我在地图上显示一个标记 并且不想将触摸事件发送到地图来更改位置 缩放级别等 在早期版本中 我可以通过设置禁用触摸android clickable false in the Map
  • 合并到具有不同列尺寸的 numpy 数组

    对于机器学习任务 我正在寻找一种方法来合并两个具有不同维度的特征矩阵 以便我可以将它们都提供给估计器 我无法使用 scipy 合并方法 因为这些方法需要兼容的形状 我可以使用 numpy 合并方法 但是当我实际尝试拆分数组进行交叉验证时 会
  • Kendo Template 复选框未触发单击事件

    我使用的 Kendo 模板如下 Scripts Module Analysis CreateMaintainAnalysis js gt
  • 如何使用 MockWebServer Android 测试用例模拟两个 API

    我正在执行仪器测试 因为我正在调用其中一个活动 该活动在创建活动时调用 2 个 API 现在我想为此活动编写仪器测试用例 我必须使用以下命令来模拟 API 响应模拟Web服务器莫基托 当我调用一个 API 时 我的模拟代码工作正常 但当同时
  • Visual Studio Code 禁用自动引用

    如何禁用自动引号功能 当我按下 或 键时 我永远不希望它在任何地方自动插入另一个 无论他们做得多么聪明 它对我来说都是 不可预测的 并分散了我对我正在尝试做的事情的注意力 做 我的打字速度超过 100 WPM 我真的不需要帮助敲击 或 键
  • WiX - 尝试使用 util:PermissionEx 设置服务的权限并收到错误 1

    问题WiX 安装 Windows 服务并授予权限 https stackoverflow com q 2381219 466321这正是我想做的 首先我添加了UtilExtension像这样的命名空间
  • 当尝试释放堆管理器分配的内存时会发生什么,而堆管理器分配的内存超出了要求的内存?

    这个问题是在一次采访中问我的 假设 char p malloc n 分配了 n 个以上的内存 即分配了 N 个字节的内存 并且使用 free p 来释放分配给 p 的内存 堆管理器可以执行这种错误的分配吗 现在会发生什么 是释放 n 个字节
  • 如何隐藏我无权访问的数据库

    当我连接到我的Heroku Postgresql数据库通过pgAdmin3 它列出了所有的表 大约2600个 每次我打开 pgAdmin3 时我都必须找到我自己的数据库 有没有办法隐藏我正在使用的数据库not allowed访问 也有同样的
  • 通过插件覆盖 Visual Studio 语法突出显示?

    这与我之前问过这个问题 https stackoverflow com questions 807404 displaying code sections with a different background color关于语法突出显示用
  • 是否可以获得所有活动会话的列表?

    当处于 Grails 操作中时 我可以使用以下命令访问 HTTPSessionsession 是否还可以获得所有活动会话的列表 这是评论中你的问题的答案 我能够在 2 2 4 上使用它 没有任何问题 请务必阅读此内容blog http bu
  • AngularJS / 如何防止 IE 触发自动输入验证?

    我有一些带有一些表格的页面 每个表单都包含一些字段约束 例如required和更多 我只想在用户与验证错误交互时显示错误 UX gt 是 确实 只要领域 pristine意味着没有触摸 不应该显示任何错误 我设法用很多浏览器来实现这个要求
  • C/C++ 是一种语言还是两种语言?

    C C 是一种语言还是两种语言 我听说 C 就是带有类的 C 是对的吗 C http en wikipedia org wiki C 1982 1983 年与 C 分道扬镳 这在计算机时代已经是很长一段时间了 但是 有许多与 C 兼容的 C
  • 如何将目录结构导入 SVN,同时保持文件和文件夹修改日期相同?

    我有一个大型源代码树 gt 2 GB WINCE 构建树 我想开始使用 Subversion 进行管理 到目前为止 版本控制 是通过保留树的多个副本并使用 Beyond Compare 来查找差异来管理的 我发现使用 Subversion
  • 如何在博客上创建或上传纯文本文件(如这两个 URL)?

    如何在博客上创建或上传纯文本文件 如这两个 URL crimlaw blogspot com Resume txt http crimlaw blogspot com Resume txt and crimlaw blogspot com
  • 错误:光标'对象没有属性'_last_execulated

    我有这个光标 cursor execute SELECT price FROM Items WHERE itemID SELECT item id FROM Purchases WHERE purchaseID d AND customer
  • 如何以编程方式创建布局文件

    我想知道是否可以动态创建一个 XML 布局文件来显示给用户 这个想法是能够从中央服务器检索布局文件 该文件可以显示这个动态的 服务器驱动的 GUI XML 布局文件被打包为二进制文件 并且膨胀也从二进制文件发生 我不相信任意 XML 都可以
  • 单击选项卡时返回 UINavigationController 堆栈的顶部?

    我有一个UITabBarController有 4 个选项卡的界面 每个选项卡都有一个UINavigationController 我怎样才能回到最上面UIViewController每一个UINavigationController每当按
  • 搜索结果使用reactjs突出显示结果

    我试图获得像 YouTube 这样的搜索结果 只是尝试 但我遇到了一些问题 我已经在codesandbox中制作了工作应用程序here https codesandbox io s react codesandbox kyd4g 我有一个搜