@anypoint-web-components/anypoint-dropdown-menu

中文文档
0.1.24发布于 2023/06/17Apache-2.0ESM + CJS近 30 天下载 3422

任意点平台的可访问下拉菜单

中文使用文档
文档目录13 节
  1. 样式选项
  2. 使用量
  3. 安装
  4. 在 HTML 文件内
  5. 联合国 anypoint-listbox 元素
  6. 数值选择
  7. 辅助文本
  8. 形式相关自定义要素
  9. 验证
  10. 无障碍
  11. 发展
  12. 本地运行演示
  13. 运行测试

折旧

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


本组件以"材料设计"菜单为主,并被调整为"任意点"平台组件.

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

已曝光的下放菜单显示菜单上方当前选中的菜单项目 . 它们只有在一次可以选择单一菜单项时才能被使用.

样式选项

该元素有三个内在主题:

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

默认输入生成 filled 放下名单.

Filled menu

当 outlined 属性设置.

Outlined menu

当 compatibility 属性设置.

Compatibility menu

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

Published on NPM

使用量

安装

npm install --save @anypoint-web-components/anypoint-dropdown

在 HTML 文件内

<html>
  <head>
    <script type="module">
      import "@anypoint-web-components/anypoint-dropdown/anypoint-dropdown.js";
      import "@anypoint-web-components/anypoint-listbox/anypoint-listbox.js";
      import "@anypoint-web-components/anypoint-item/anypoint-item.js";
    </script>
  </head>
  <body>
    <anypoint-dropdown-menu
      aria-label="Select dinosaur from the list of available options"
    >
      <label slot="label">Selected dinosaur</label>
      <anypoint-listbox slot="dropdown-content" tabindex="-1">
        <anypoint-item>item 1</anypoint-item>
        <anypoint-item>item 2</anypoint-item>
        <anypoint-item>item 3</anypoint-item>
      </anypoint-listbox>
    </anypoint-dropdown-menu>
  </body>
</html>

联合国 anypoint-listbox 元素

使用不同元素的可能性大于 anypoint-listbox。替换应使用 任意点MenuMixin 它提供了 API 供下拉元素工作.

数值选择

当用户在下拉菜单中选择一个选项时,列表被关闭,并给定的标签是以下之一(按顺序):

  • label 选定项目的属性
  • label 或者说 data-label 属性 io 选定项目
  • innerText 选定项目

设定的数值与 value 属性.

选择可以通过设置来控制 selected 属性/财产 anypoint-listbox 或执行要素 AnypointMenuMixin。 。 。 .

<anypoint-dropdown-menu
  aria-label="Select dinosaur from the list of available options"
>
  <label slot="label">Selected dinosaur</label>
  <anypoint-listbox slot="dropdown-content" tabindex="-1" selected="0">
    <anypoint-item label="My item 1">item 1</anypoint-item>
    <anypoint-item label="My item 2">item 2</anypoint-item>
    <anypoint-item>item 3</anypoint-item>
  </anypoint-listbox>
</anypoint-dropdown-menu>

默认情况下,选定值设定为 My item 1当选择选项3时,标签值变为 item 3。 。 。 .

辅助文本

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

信息消息

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

<anypoint-dropdown-menu infomessage="Will be added to your order.">
  <label slot="label">Select a dinosaur</label>
  <anypoint-listbox slot="dropdown-content" tabindex="-1">
    <anypoint-item>item 1</anypoint-item>
    <anypoint-item>item 2</anypoint-item>
    <anypoint-item>item 3</anypoint-item>
  </anypoint-listbox>
</anypoint-dropdown-menu>

Info message

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

无效的消息

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

<anypoint-dropdown-menu
  invalidmessage="This value is required"
  invalid
  required
>
  <label slot="label">Select a dinosaur</label>
  <anypoint-listbox slot="dropdown-content" tabindex="-1">
    <anypoint-item>item 1</anypoint-item>
    <anypoint-item>item 2</anypoint-item>
    <anypoint-item>item 3</anypoint-item>
  </anypoint-listbox>
</anypoint-dropdown-menu>

Invalid message

形式相关自定义要素

这个 窗体关联自定义元素 允许将自定义元素与 <form> 键。 原始自定义元素 spec 不允许这样做 . 某些浏览器可能不支持与窗体相关的自定义元素,因此可能需要使用自定义形式元素(例如: 铁制) (中文(简体) ).

该元素支持在浏览器中执行此API的API. 这意味着元素的行为就像 <select> 元素插入窗体元素时。 例如,请见演示页.

验证

构成部分支助 required 财务报告和审定财务报表 autoValidate 属性。 当元素是 required 然后它使状态无效,当 validate() 或者说 checkValidity() 函数调用. 这个 validate() 函数由 验证混合剂 用于自定义元素. checkValidity() 函数调用 validate() 函数,如果有的话,内部 checkValidity() 函数由窗体关联自定义元素 API提供.

这个 autoValidate 选项允许在值变化时自动调用验证函数。 它可以在自定义验证器执行时使用 验证器Mixin。 。 。 .

<anypoint-dropdown-menu required autovalidate>
  <label slot="label">Selected dinosaur</label>
  <anypoint-listbox slot="dropdown-content">
    <anypoint-item>item 1</anypoint-item>
    <anypoint-item>item 2</anypoint-item>
    <anypoint-item>item 3</anypoint-item>
  </anypoint-listbox>
</anypoint-dropdown-menu>

无障碍

元素与 anypoint-listbox 共同创建一个可访问选项列表。 列表框可以被支持类似功能的其他任何元素所取而代之,但要确保它有合适的aria支持.

发展

git clone https://github.com/anypoint-web-components/anypoint-dropdown-menu
cd anypoint-dropdown-menu
npm install

本地运行演示

npm start

运行测试

npm test

版本与发布记录

@anypoint-web-components/anypoint-dropdown-menu 共发布 25 个版本,首次发布于 2019/08/06;过去 12 个月发布了 0 个版本。

版本发布日期距今
0.1.24latest2023/06/173 年前
0.1.232021/11/204 年前
0.1.222021/10/165 年前
0.1.212021/05/195 年前
0.1.202020/11/275 年前
0.1.192020/11/265 年前

关于 @anypoint-web-components/anypoint-dropdown-menu 的常见问题

@anypoint-web-components/anypoint-dropdown-menu 是什么?

任意点平台的可访问下拉菜单

如何安装 @anypoint-web-components/anypoint-dropdown-menu?

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

@anypoint-web-components/anypoint-dropdown-menu 支持 TypeScript 吗?

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

@anypoint-web-components/anypoint-dropdown-menu 支持 ESM 还是 CommonJS?

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

@anypoint-web-components/anypoint-dropdown-menu 可以商用吗?

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

@anypoint-web-components/anypoint-dropdown-menu 的下载量有多少?

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

@anypoint-web-components/anypoint-dropdown-menu 还在维护吗?

最新版本 0.1.24 发布于 2023/06/17(3 年前);至今共发布 25 个版本,其中过去 12 个月发布了 0 个;首次发布于 2019/08/06。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。