npm 包 rc-dropdown 使用教程

阅读时长 7 分钟读完

介绍

rc-dropdown 是一个 React 组件,用来实现下拉菜单的功能。rc-dropdown 是基于 ant-design/dropdown 开发的,可以对下拉菜单样式和行为进行高度的定制。

安装

使用 npm 安装 rc-dropdown:

基础使用

使用 rc-dropdown 的基本实现流程如下:

  1. 引入 rc-dropdown 组件;
  2. 在 render 方法中调用 rc-dropdown 组件;
  3. rc-dropdown 组件内部包含两个子组件:Dropdown 和 Menu;
  4. 用户点击 Dropdown 组件时,Menu 组件会显示出来。

示例代码:

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

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

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

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

API

Dropdown

属性 说明 类型 默认值
overlay 菜单组件 React.Node -
trigger 触发下拉动作的事件类型 string 'hover'
visible 菜单是否可见 boolean false
onVisibleChange 菜单可见性改变时的回调函数 (visible: boolean) => void -
align 菜单和触发元素的对齐方式 AlignType -

Menu

属性 说明 类型 默认值
mode 菜单类型,可选值为 'vertical'、'horizontal' 和 'inline' string 'vertical'
theme 菜单主题,可选值为 'light' 和 'dark' string 'light'
defaultOpenKeys 默认展开的菜单项数组 string[] -
defaultSelectedKeys 默认选中的菜单项数组 string[] -
openKeys 当前展开的菜单项数组 string[] -
selectedKeys 当前选中的菜单项数组 string[] -
onClick 点击菜单项的回调函数 ({ item, key, keyPath, domEvent }) => void -

Menu.Item

属性 说明 类型 默认值
disabled 是否禁用菜单项 boolean false
key 菜单项的唯一标识 string -
icon 菜单项图标 React.Node -

高级用法

rc-dropdown 提供了很多可定制的属性和样式,这里介绍几个常用的属性。

改变下拉触发事件类型

默认情况下,rc-dropdown 是通过鼠标悬停来触发下拉事件的。如果需要通过点击触发下拉事件,可以使用 trigger 属性:

定制下拉菜单的位置

rc-dropdown 可以通过 align 属性来控制下拉菜单的位置。align 属性接受一个 AlignType 类型的对象,这个对象包含以下几个属性:

属性 说明 类型 默认值
points 触发元素和菜单元素的对齐方式,其中第一项表示 trigger 元素的水平和菜单元素的水平对齐方式,第二项表示 trigger 元素的垂直和菜单元素的垂直对齐方式 string[] ['tl', 'bl']
offset 菜单元素和触发元素之间的偏移量 number[] [0, 0]
targetOffset 参考元素和菜单元素之间的偏移量 number[] [0, 0]
overflow 是否自动调整菜单元素的位置,使其不超出容器元素的范围 AlignOverflowType -

下面的示例改变了默认的对齐方式:

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

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

显示弹出框

有时候我们需要在下拉菜单中添加一些自定义的操作,而这些操作需要弹出框来实现。可以通过 Overlay 属性将弹出框和下拉菜单组件结合起来使用。

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

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

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

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

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

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

总结

rc-dropdown 是一个非常实用的下拉菜单组件,它提供了丰富的属性和样式来帮助我们实现不同的需求。在使用 rc-dropdown 的过程中,我们需要对其属性和使用方法有一定的了解,以此来达到更好的开发效果。

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