SuperAPI AI 工具集

shadcn_ui-accordion

前端与建站

查看项目

更新于 10-16 04:00

技能介绍

用途

Shadcn UI Accordion 用于构建垂直堆叠的可折叠面板(手风琴),每个标题都可以展开或收起以显示其对应内容。适用于添加可展开区块、FAQ 常见问题列表,或其它需要纵向折叠展示信息的界面场景。

主要能力

  • 通过 ShadAccordion 渲染一组垂直堆叠的标题,每个标题可展开显示内容。
  • 每个条目由 ShadAccordionItem 表示,包含 value、title 和 child:value 用于标识该条目,title 为标题,child 为展开后显示的内容。
  • 支持单开模式:默认情况下同一时间只展开一个条目。
  • 支持多开模式:使用 ShadAccordion.multiple 可允许同时展开多个条目。
  • 资料说明该组件遵循 WAI-ARIA 设计模式,默认样式与其它组件的美学风格一致,并默认带有动画效果。

使用方式

资料给出的 Dart 示例中,先定义一个由带命名字段的记录组成的数据列表,每条记录包含 title 与 content。然后将其映射为 ShadAccordionItem 列表,其中 value 设为该条记录,title 为 Text(detail.title),child 为 Text(detail.content),外层包裹 ShadAccordion。

单开模式示例:

final details = [
  (title: 'Is it acceptable?', content: 'Yes. It adheres to the WAI-ARIA design pattern.'),
  (title: 'Is it styled?', content: "Yes. It comes with default styles that matches the other components' aesthetic."),
  (title: 'Is it animated?', content: "Yes. It's animated by default, but you can disable it if you prefer."),
];

ShadAccordion<({String content, String title})>(
  children: details.map(
    (detail) => ShadAccordionItem(
      value: detail,
      title: Text(detail.title),
      child: Text(detail.content),
    ),
  ),
)

多开模式:使用 ShadAccordion.multiple,其余写法与单开模式一致。

ShadAccordion<({String content, String title})>.multiple(
  children: details.map(
    (detail) => ShadAccordionItem(
      value: detail,
      title: Text(detail.title),
      child: Text(detail.content),
    ),
  ),
)

适用场景

  • FAQ 常见问题列表。
  • 需要可展开区块的页面。
  • 其它需要纵向折叠展示内容的界面。

限制

资料提到组件默认带有动画效果,但可根据偏好关闭。除上述内容外,关于安装命令、依赖版本、收费与价格、平台支持等信息,资料中暂未提供。