# @dt-dds/react-select 中文文档

规范地址：https://npmcn.com/package/%40dt-dds/react-select/

版本：1\.0\.0-beta\.115
npm 元数据更新时间：2026-11-13T11:45:56.800Z
中文译文更新时间：2026-11-12T23:04:13.602Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40dt-dds/react-select
原文对照：https://npmcn.com/package/%40dt-dds/react-select/?lang=original

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：83.9 kB，10 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：11 个
- 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
- 首次发布：2025-08-07T15:23:20.345Z
- 最新版本发布：2026-11-13T11:45:56.573Z
- 近 30 天下载量：3461（2026-10-13 至 2026-11-11，npm 官方下载统计）
- 已发布版本数：69（近 12 个月 57 个）

## 中文简介

一个"选择"(Select)旨在通过从预定义的选择列表中提供一个选择来收集用户的输入,允许单项选择和多项选择.

## 安装

```sh
npm install @dt-dds/react-select
```

也可以使用：`pnpm add @dt-dds/react-select`、`yarn add @dt-dds/react-select`、`bun add @dt-dds/react-select`

## README

# 选择

一个"选择"(Select)旨在通过从预定义的选择列表中提供一个选择来收集用户的输入,允许单项选择和多项选择.

## 图片参考

[图片](https://www.figma.com/design/kMk36nv0ZT4AHhBbw9jq0S/%E2%86%B3-1.-Daimler-Truck-DDS--Beta-?node-id=12098-5335&t=Q2vzJQbSCO9jHwxx-4)

## 选择使用

```jsx
import { Select } from '@dt-dds/react-select';

const items = [
  { value: 'value1', label: 'Value 1' },
  { value: 'value2', label: 'Value 2' },
  { value: 'value3', label: 'Value 3', disabled: true },
];

export const App = () => {
  const [value, setValue] = useState < string > '';

  return (
    <Select
      label='Choose a value'
      helperText='you need to make a selection'
      isMulti={false}
      value={value}
      onChange={setValue}
      variant='outlined'
      fill='default'
    >
      {items.map((item, index) => (
        <Select.Option
          key={item.value}
          index={index}
          value={item.value}
          disabled={item.disabled}
        >
          {item.label}
        </Select.Option>
      ))}
    </Select>
  );
};
```

## 选择

| 财产 | 类型 | 默认 | 说明 |
| --- | --- | --- | --- |
| `label` | `string` | —— 说 | 一个帮助用户理解所选字段范围的标签. |
| `placeholder` | `string` | —— 说 | 用于帮助用户理解所选字段范围的占位符. |
| `value` | `string` | `string[]` | 受控值. 用于单选的字符串;用于多选取的字符串数组. |
| `onChange` | `(value: string) => void` | `(value: string[]) => void` | 选择更改时调用( 字符串为单模式; 数组为多模式) . |
| `isMulti` | `boolean` | `false` | 在单选和多选之间切换. |
| `helperText` | `ReactNode` | \- 说吧 | 字段下方显示的帮助文本; 链接通过 `aria-describedby`。 。 。 . |
| `hasError` | `boolean` | `false` | 错误状态( 应用) `aria-invalid` 和错误样式. |
| `isDisabled` | `boolean` | `false` | 禁用用户交互 . |
| `isRequired` | `boolean` | —— 说 | 按需要标记字段. |
| `isFloatingLabel` | `boolean` | `true` | 控制“浮动标签”行为. |
| `scale` | `LabelFieldProps['scale']` | `'standard'` | 标签/字段的可视尺度/大小. |
| `labelIcon` | `ReactNode` | —— 说 | 标签旁边的可选图标 . |
| `variant` | `SelectVariant` | `'outlined'` | 边线/线域变种. |
| `fill` | `SelectFill` | `'default'` | 背景填充字段样式 . |
| `style` | `React.CSSProperties` | —— 说 | 适用于“选择包装”的内置样式. |
| `dataTestId` | `string` | `'select'` | 适用于组件容器的测试标识符. |
| `children` | `ReactNode` | —— 说 | 通常列出 `Select.Option`。 。 。 . |
| `...rest` | `HTMLAttributes` | —— 说 | 标准 HTML 属性. |

### 选择 选项

| 财产 | 类型 | 默认 | 说明 |
| --- | --- | --- | --- |
| `children` | `ReactNode` | —— 说 | 选项的可见内容(向用户显示的标签). |
| `value` | `string` | —— 说 | 选项值. |
| `valueLabel` | `ReactNode` | —— 说 | 这是输入上的自定义选项标签 . |
| `index` | `number` | —— 说 | 列表中的选项索引(由Downshit内部使用). |
| `isDisabled` | `boolean` | `false` | 禁用选项. |
| `style` | `React.CSSProperties` | —— 说 | 选项的内置样式. |
| `dataTestId` | `string` | —— 说 | 测试选项的标识符 . |

## 堆栈

-   [类型脚本](https://www.typescriptlang.org/) 用于静态类型检查
-   [反应](https://reactjs.org/) — JavaScript 用户界面库
-   [情感](https://emotion.sh/docs/introduction) 用于使用 JavaScript 写入 Css 样式
-   [故事书](https://storybook.js.org/) ——由Vite供电的UI组件环境
-   [欢乐](https://jestjs.io/) - JavaScript 测试框架
-   [反应测试库](https://testing-library.com/) - 以用户为中心测试用户界面组件
-   [ESLint 语录](https://eslint.org/) 代码林入
-   [高级](https://prettier.io/) 用于代码格式
-   [苏普](https://github.com/egoist/tsup) - 由Esbuild供电的脚本捆绑机
-   [雅伦](https://yarnpkg.com/) 从管理软件包
-   [下调](https://www.downshift-js.com/) 管理无障碍

## 图标

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

## 汇编

运行 `yarn build` 从软件包的根部 [齐声](https://tsup.egoist.dev/) 将原始的 TypeScript 和 React 代码编译为普通 JavaScript .

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

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

## 版本

跟着 [语义版本](https://semver.org/)

## 许可证

许可证根据 [MIT 许可证](https://npmcn.com/package/%40dt-dds/react-select/LICENSE)

## 常见问题

### @dt-dds/react-select 是什么？

一个"选择"\(Select\)旨在通过从预定义的选择列表中提供一个选择来收集用户的输入,允许单项选择和多项选择\.

### 如何安装 @dt-dds/react-select？

在项目目录运行 npm install @dt-dds/react-select，或使用 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-select 支持 TypeScript 吗？

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

### @dt-dds/react-select 支持 ESM 还是 CommonJS？

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

### @dt-dds/react-select 可以商用吗？

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

### @dt-dds/react-select 的下载量有多少？

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

### @dt-dds/react-select 还在维护吗？

最新版本 1\.0\.0-beta\.115 发布于 2026/11/13（今天）；至今共发布 69 个版本，其中过去 12 个月发布了 57 个；首次发布于 2025/08/07。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

