@dt-dds/react-dropdown

中文文档
1.0.0-beta.118发布于 2026/11/13MITTypeScriptESM + CJS近 30 天下载 3948

Dropdown菜单为用户提供了一个可以接收任何内容的框. 它还提供了一个备选方案组成部分.

中文使用文档
文档目录10 节
  1. 图片参考
  2. 降级使用
  3. 属性
  4. 下坠
  5. 放下来 选项
  6. 堆栈
  7. 图标
  8. 汇编
  9. 版本
  10. 许可证

下坠

Dropdown菜单为用户提供了一个可以接收任何内容的框. 它还提供了一个备选方案组成部分.

图片参考

图片 - 下拉 图示 - 选项

降级使用

import { useRef, useState } from 'react';
import { Dropdown } from '@dt-dds/react';

const options = [
  { text: 'Option 1', value: '1' },
  { text: 'Option 2', value: '2' },
];

export const App = () => {
  const anchorRef = useRef(null);
  const [isOpen, setIsOpen] = useState(false);

  return (
    <>
      <button ref={anchorRef} onClick={() => setIsOpen(!isOpen)}>
        Menu
      </button>
      <Dropdown
        anchorRef={anchorRef}
        isOpen={isOpen}
        onClose={() => setIsOpen(false)}
      >
        {options.map((option) => (
          <Dropdown.Option key={option.value}>{option.text}</Dropdown.Option>
        ))}
      </Dropdown>
    </>
  );
};

属性

下坠

财产类型默认说明
childrenReactNode—— 说儿童组件/内容将在下降过程中提供.
styleReact.CSSProperties—— 说内置样式合并 之后 计算定位样式.
dataTestIdstringdropdown自定义的测试标识符适用于下拉根元素 .
isOpenbooleanfalse控制能见度. 何时 false,该元素通过 aria-hidden。 。 。 .
anchorRefRefObject<HTMLElement | null>- 说吧参考定位所使用的锚地元素.
matchWidthbooleantrue若为 true,所降宽度与锚地宽度相匹配.
offsetXnumber0水平平分(px)适用于所有位置.
offsetYnumber4所有安放均适用垂直平分(px).
isFocusablebooleantrue若为 true,将降水包成一个 FocusTrap 键盘导航.
onClose() => void—— 说在滴出/锁定器外检测到点击时调用 .
askeyof JSX.IntrinsicElements"div"基础 HTML 元素( 例如, ), "ul" 用于列表语义学).
placementDropdownPlacementbottom落地姿势.
...restHTMLAttributes—— 说标准 HTML 属性.

放下来 选项

财产类型默认说明
styleReact.CSSProperties—— 说选项元素的内部样式.
childrenReactNode—— 说备选案文的内容.
dataTestIdstringdropdown-option选项元素的自定义测试标识符 .
isDisabledbooleanfalse何时 true组合 aria-disabled 并点击/键盘激活.
isSelectedbooleanfalse通过 aria-selected 和造型.
isHighlightedbooleanfalse添加数 data-highlighted="true" 用于悬浮/活行样式.
isMultibooleanfalse多选择上下文的可选样式提示( 无选择逻辑) .
onClick(event: MouseEvent<HTMLLIElement>) => void—— 说点击处理器 .
...restHTMLAttributes—— 说标准 HTML 属性.

堆栈

图标

  • yarn build - 制作软件包
  • yarn dev - 在当地运行软件包
  • yarn lint - 将所有文件输入此软件包
  • yarn test - 测试所有单位
  • yarn test:report - 打开测试覆盖报告
  • yarn test:update:snapshot - 进行所有单元测试并更新快照

汇编

运行 yarn build 从软件包的根部 齐声 将原始的 TypeScript 和 React 代码编译为普通 JavaScript .

这个 /dist 文件夹包含编译输出.

dropdown
└── dist
    ├── index.d.ts  <-- Types
    ├── index.js    <-- CommonJS version
    └── index.mjs   <-- ES Modules version
    ...

版本

跟着 语义版本

许可证

许可证根据 MIT 许可证

版本与发布记录

@dt-dds/react-dropdown 共发布 86 个版本,首次发布于 2025/08/07;过去 12 个月发布了 52 个版本。

版本发布日期距今
1.0.0-beta.118latest2026/11/13今天
1.0.0-beta.1172026/11/049 天前
1.0.0-beta.1162026/11/039 天前
1.0.0-beta.1152026/11/0310 天前
1.0.0-beta.1142026/10/2816 天前
1.0.0-beta.1132026/10/2321 天前

关于 @dt-dds/react-dropdown 的常见问题

@dt-dds/react-dropdown 是什么?

Dropdown菜单为用户提供了一个可以接收任何内容的框. 它还提供了一个备选方案组成部分.

如何安装 @dt-dds/react-dropdown?

在项目目录运行 npm install @dt-dds/react-dropdown,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:react(>=17.0.2)、react-dom(>=17.0.2)、@emotion/css(^11.7.1)、@emotion/react(^11.8.2)、@emotion/styled(^11.8.1)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@dt-dds/react-dropdown 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@dt-dds/react-dropdown 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@dt-dds/react-dropdown 可以商用吗?

@dt-dds/react-dropdown 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@dt-dds/react-dropdown 的下载量有多少?

根据 npm 官方下载统计,@dt-dds/react-dropdown 在 2026/10/13 – 2026/11/11 这 30 天内被下载 3,948 次,日均约 132 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@dt-dds/react-dropdown 还在维护吗?

最新版本 1.0.0-beta.118 发布于 2026/11/13(今天);至今共发布 86 个版本,其中过去 12 个月发布了 52 个;首次发布于 2025/08/07。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。