用途:在 Flutter 项目中使用 Shadcn UI 的 ShadSelect<T> 构建由按钮触发的下拉选项列表。
主要能力:通过 options 传入 ShadOption<T> 列表或分组标题(如带文本的 Padding);用 placeholder 设置占位内容;用 selectedOptionBuilder: (context, value) => ... 渲染已选项;用 onChanged 处理变更;可用 initialValue 或受控状态设置选中值;可设置 minWidth/maxWidth/maxHeight;allowDeselection: true 允许清除选择。表单场景使用 ShadSelectFormField<T>,传入 id、validator 等。搜索使用 ShadSelect.withSearch,配合 onSearchChanged、searchPlaceholder,并在状态中过滤选项(例如用 Offstage 包裹 ShadOption 以避免结果变化时丢失焦点)。多选使用 ShadSelect.multiple,传入 selectedOptionsBuilder、onChanged,可选 allowDeselection: true、closeOnSelect: false 以在选择后保持弹层打开。
使用方式:按资料示例,先准备选项数据(如 Map 的 entries 映射为 ShadOption),再配置 placeholder、selectedOptionBuilder、onChanged 等参数;表单字段需提供 id 与 validator。
适用场景:需要下拉选择、可搜索选择、多选或表单校验的 Flutter 界面。
限制:资料未提供安装命令、依赖版本、平台支持范围、收费与价格信息;可滚动分组及完整搜索/多选示例见 reference.md。