# @anypoint-web-components/anypoint-input 中文文档

规范地址：https://npmcn.com/package/%40anypoint-web-components/anypoint-input/

版本：0\.2\.30
npm 元数据更新时间：2026-04-07T19:25:18.924Z
中文译文更新时间：2026-11-06T11:10:55.386Z
软件包许可：Apache-2\.0

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

原始 npm 页面：https://www.npmjs.com/package/%40anypoint-web-components/anypoint-input
原文对照：https://npmcn.com/package/%40anypoint-web-components/anypoint-input/?lang=original
项目主页：https://github.com/anypoint-web-components/anypoint-input#readme
源码仓库：https://github.com/anypoint-web-components/anypoint-input

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

- 包体积（解压后）：123 kB，24 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：未声明
- 运行依赖：7 个
- 首次发布：2019-08-09T04:00:23.243Z
- 最新版本发布：2023-06-16T17:54:50.387Z
- 近 30 天下载量：3408（2026-10-06 至 2026-11-04，npm 官方下载统计）
- 已发布版本数：38（近 12 个月 0 个）

## 中文简介

任意点平台的可访问文本输入

## 安装

```sh
npm install @anypoint-web-components/anypoint-input
```

也可以使用：`pnpm add @anypoint-web-components/anypoint-input`、`yarn add @anypoint-web-components/anypoint-input`、`bun add @anypoint-web-components/anypoint-input`

## README

# 折旧

此组件已移至 `anypoint-web-components/awc`。 。 。 .

* * *

本部分以"材料设计"文字字段为基础,并被调整为"任意点"平台组件.

任意点网络组件是允许在开源项目中构建任意点启用的UI的组件集.

文本字段允许用户输入一个值入UI. 它可以出现在一个 `form` 或对话.

[![Published on NPM](https://img.shields.io/npm/v/@anypoint-web-components/anypoint-input.svg)](https://www.npmjs.com/package/@anypoint-web-components/anypoint-input)

[![tests](https://github.com/anypoint-web-components/anypoint-input/actions/workflows/deployment.yml/badge.svg)](https://github.com/anypoint-web-components/anypoint-input/actions/workflows/deployment.yml)

## 样式选项

该元素有三个内在主题:

-   材料设计 - 已填充
-   材料设计 - 外观
-   任意点设计 - 兼容性

默认输入生成 `filled` 输入.

![Filled text input](https://npmcn.com/package/%40anypoint-web-components/anypoint-input/demo/text-input-filled.png)

当 `outlined` 属性设置.

![Outlined text input](https://npmcn.com/package/%40anypoint-web-components/anypoint-input/demo/text-input-outlined.png)

当 `compatibility` 属性设置.

![Anypoint text input](https://npmcn.com/package/%40anypoint-web-components/anypoint-input/demo/text-input-compatibility.png)

OSS应用程序不应使用基于任意点的造型,因为它受到MuleSoft版权的保护. 此属性被保留给嵌入Anypoint平台的OSS应用程序.

## 使用量

### 安装

```sh
npm install --save @anypoint-web-components/anypoint-input
```

### 在 HTML 文件内

```html
<html>
  <head>
    <script type="module">
      import '@anypoint-web-components/anypoint-input/anypoint-input.js';
    </script>
  </head>
  <body>
    <anypoint-input value="My awesome API">
      <label slot="label">API title</label>
    </anypoint-input>
  </body>
</html>
```

### 前缀和后缀

该元素允许在文本输入之前或之后但输入边框内渲染一个部件 .

当它有意义前缀或后缀可以用来建议正确的输入. 以现金金额表示的 Fox 示例 字段输入前缀可以是 `$` 表示数值以美元解释.

```html
<anypoint-input name="ex1">
  <label slot="label">Amount to transfer</label>
  <span slot="prefix" aria-label="Value in US dollars">$</span>
</anypoint-input>
```

同样后缀可以提供附加信息,说明输入的格式. 对于相同的现金数额,输入后缀可以 `.00` 表示输入是整数.

```html
<anypoint-input name="ex2">
  <label slot="label">Amount to transfer</label>
  <span slot="suffix" aria-label="Use integers">.00</span>
</anypoint-input>
```

后缀也可以是活动部件. 它可以是切换密码能见度的图标按钮. 只要记住,添加交互式后缀并不是一个常见的设计模式,你的后缀必须对用户有明确的含义.

```html
<anypoint-input type="password" name="ex3">
  <label slot="label">Password</label>
  <anypoint-button slot="suffix" aria-label="Activate the button to show the password" onclick="this.parentNode.type='text'">Show</anypoint-button>
</anypoint-input>
```

```html
<anypoint-input type="email" name="ex4">
  <label slot="label">Email</label>
  <div slot="suffix">@mulesoft.com</div>
</anypoint-input>
```

### 验证

该元素支持所有帮助验证的输入属性, 如 `required`, (中文(简体) ), `min`, (中文(简体) ), `max`, (中文(简体) ), `pattern`,等等。 (笑声) 它还支持 `autoValidate` 当值变化时验证输入的属性.

```html
<anypoint-input required autovalidate pattern="[a-z]*" invalidMessage="Only letters allowed">
  <label slot="label">Enter text</label>
</anypoint-input>
```

当它无效时, 错误消息被定义为 `invalidmessage` 属性.

这个要素还有: `preventInvalidInput` 财务报告和审定财务报表 `allowedPattern` 属性,当两者同时设置时,取消任何不匹配的输入 `allowedPattern`。 。 。 . 记住要小心使用这些属性,因为这是一种非常侵入性的行为.

```html
<anypoint-input allowedPattern="[a-z]*" preventInvalidInput>
  <label slot="label">Enter text</label>
</anypoint-input>
```

### 辅助文本

辅助文本可以让用户更好地了解需要什么样的输入. 无效时可以是信息消息或无效消息 已检测到输入 .

#### 信息消息

信息信息为用户提供了额外的字段描述. 当标签可能混淆或确保用户了解收集输入的原因时,应当使用.

```html
<anypoint-input infoMessage="Used to confirm your order." type="email" name="ex5">
  <label slot="label">Email</label>
</anypoint-input>
```

![Filled text input](https://npmcn.com/package/%40anypoint-web-components/anypoint-input/demo/info-text.png)

不要试图提供过于详细的信息。 用户应当能够以一秒之差扫描消息. 将其作为标签的附加文本.

#### 无效的消息

出错消息应当帮助用户从出错状态中恢复. 使用清晰的信息, 并简单说明如何解决问题, 例如 `Only letters are allowed`。 。 。 .

```html
<anypoint-input invalidmessage="Only letters are allowed" type="text" name="ex6" invalid>
  <label slot="label">Username</label>
</anypoint-input>
```

![Filled text input](https://npmcn.com/package/%40anypoint-web-components/anypoint-input/demo/invalid-text.png)

### 形式相关自定义要素

这个 [窗体关联自定义元素](https://docs.google.com/document/d/1JO8puctCSpW-ZYGU8lF-h4FWRIDQNDVexzHoOQ2iQmY/edit?pli=1#) 允许将自定义元素与 `<form>` 键。 原始自定义元素 spec 不允许这样做 . 某些浏览器可能不支持与窗体相关的自定义元素,因此可能需要使用自定义形式元素(例如: [铁制](https://www.webcomponents.org/element/@polymer/iron-form)) (中文(简体) ).

该元素支持在浏览器中执行此API的API. 这意味着元素的行为像常客 `<input>` 元素插入窗体元素时.

## 无障碍

元素已经准备好了. 加入: `name` 属性到输入,然后作为孩子添加标签.

当使用前缀或后缀时,通过使用 `aria-label` 属性。 注,通过设置 `aria-label`,屏幕读取器将跳过该元素的文本值.

```html
<anypoint-input name="amount-usd">
  <label slot="label">Amount to transfer</label>
  <span slot="prefix" aria-label="Value in US dollars">$</span>
</anypoint-input>
```

## 发展

```sh
git clone https://github.com/anypoint-web-components/anypoint-input
cd anypoint-input
npm install
```

### 本地运行演示

```sh
npm start
```

### 运行测试

```sh
npm test
```

## 常见问题

### @anypoint-web-components/anypoint-input 是什么？

任意点平台的可访问文本输入

### 如何安装 @anypoint-web-components/anypoint-input？

在项目目录运行 npm install @anypoint-web-components/anypoint-input，或使用 pnpm add / yarn add / bun add。

### @anypoint-web-components/anypoint-input 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/anypoint-web-components\_\_anypoint-input 是否存在。

### @anypoint-web-components/anypoint-input 支持 ESM 还是 CommonJS？

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

### @anypoint-web-components/anypoint-input 可以商用吗？

@anypoint-web-components/anypoint-input 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @anypoint-web-components/anypoint-input 的下载量有多少？

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

### @anypoint-web-components/anypoint-input 还在维护吗？

最新版本 0\.2\.30 发布于 2023/06/17（3 年前）；至今共发布 38 个版本，其中过去 12 个月发布了 0 个；首次发布于 2019/08/09。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

