npm 包 @atlaskit/quick-search 使用教程

阅读时长 3 分钟读完

前言

在前端开发中,搜索框是非常常见的界面组件。常常需要使用第三方库来帮助我们实现搜索框的功能。@atlaskit/quick-search 就是一款非常优秀的搜索框组件,在 Atlassian 的产品中被广泛使用。本文将介绍如何使用 @atlaskit/quick-search 这款 npm 包,并详细介绍其 API、功能以及实现原理等。

安装

在开始使用之前,需要先安装 @atlaskit/quick-search:

基本使用

使用 @atlaskit/quick-search 只需要引入组件,设置一些必要的参数即可。

-- -------------------- ---- -------
------ ----- ---- --------
------ ----------- ---- -------------------------

----- --- ------- --------------- -
  -------- -
    ------ -
      ------------
        --------------------
        ------------ -- ----------------------------
      --
    --
  -
-

------ ------- ----

通过上述代码,我们已经实现了一个简单的搜索框,输入搜索内容后,触发 onSearch 回调函数并打印出 "Searching..."。

API 详解

Props

appearance

  • type: "default" | "subtle"。默认值为 "default"。

    定义搜索框的外观,如果设置为 "subtle",搜索框的背景将变成浅灰色。

debounceDelay

  • type: number。默认值为 300。

    设置 debounce 的延时时间,一般无需修改。

iconButtonAriaLabel

  • type: string。默认值为 "search"。

    定义搜索框右侧图标按钮的 ARIA 标签,用于无障碍阅读。

inputControls

  • type: JSX.Element。默认值为 null。

    用来添加搜索框中的自定义组件,将自定义组件通过 inputControls 属性传入。

isLoading

  • type: boolean。默认值为 false。

    定义搜索框是否处于加载状态,如果设置为 true,搜索框右侧图标按钮将变成加载动画。

onInput

  • type: (event: React.ChangeEvent<htmlinputelement>) => void。默认值为空函数。

    用于监听搜索框输入内容的回调函数。

onSearch

  • type: (query: string) => void。默认值为空函数。

    用于监听搜索框输入内容后点击搜索按钮的回调函数。

placeholder

  • type: string。默认值为 "Search".

    搜索框的占位符文本。

tooltip

  • type: string。默认值为 undefined。

    鼠标悬停在搜索框上显示的提示文本。

value

  • type: string。默认值为空字符串。

    搜索框的初始值。

实现原理

@atlaskit/quick-search 的实现原理比较简单,主要是通过一个受控组件实现数据的获取和渲染,同时使用 debounce 函数来避免过多的请求影响性能体验。

总结

通过本文的介绍,我们了解了如何使用 @atlaskit/quick-search 这款 npm 包,并详细介绍了其 API、功能以及实现原理等。希望本文可以对广大前端开发工程师有所帮助。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/5eedab43b5cbfe1ea06106c5

纠错
反馈