npm 包 @atlaskit/popup 使用教程

阅读时长 4 分钟读完

前言

在前端开发中,经常需要使用弹框组件,@atlaskit/popup 是一个高度可配置的弹框组件,支持位置方向、交互、偏移量以及容器定位等。本文将为大家介绍如何使用 @atlaskit/popup,让你可以轻松地实现弹框效果。

安装 @atlaskit/popup

使用 @atlaskit/popup 之前,我们需要先进行安装。在命令行中输入下面的命令:

安装完成后,我们就可以正常使用了。

使用 @atlaskit/popup

快速入门

@atlaskit/popup 具有高度的可配置能力,但是对于新手来说,我们可以从一个简单的例子开始。

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

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

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

以上代码中,我们创建了一个弹框组件 Popup,并设置 isOpen 属性为 true,表示弹框组件是打开状态,同时设置了 onClose 函数,表示弹框中的关闭按钮被点击时会调用 onClose 方法。content 属性是我们需要在弹框中展示的内容。

然后我们通过 <button> 标签来触发弹框的打开,同时将 Popup 作为 JSX 组件嵌套在 button 标签中。现在,我们已经创建了一个基础的弹框组件。

常用属性

除了 isOpen、onClose、content 属性,@atlaskit/popup 还有许多其他的属性可供使用,下面是一些常用的属性:

trigger

弹框的触发方式,默认为 click。我们还可以设置为 hover,这意味着当鼠标悬停在触发元素上时,弹框将打开。

placement

控制弹框和触发元素的位置关系,默认值为 bottom-start。

shouldFlip

当 popup 的位置被改变时是否翻转位置,默认为 true。

zIndex

弹框的层级。

boundariesElement

定义弹框在哪个容器中显示,可以是父级元素或根元素。

autoFocus,

是否自动聚焦弹框中的表单字段。默认值为 true。

onOpenChange

当弹框重新打开或关闭时触发的回调函数。

在 React 组件中使用

如果需要在 React 的函数组件中使用 @atlaskit/popup,我们可以通过 useRef 来保存 Popup 的引用,并在触发弹框的元素的 onClick 事件中调用 Popup 组件的 setOpenState 函数。

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

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

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

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

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

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

结语

@atlaskit/popup 是一个功能强大而且高度可配置的弹框组件。在本文中,我们提供了一些使用 @atlaskit/popup 的示例代码,帮助大家开始使用这个优秀的组件。当然,还有许多其他的属性和配置,以及更深入的使用方法,你可以在官方文档中了解和学习。

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

纠错
反馈