• α堆栈 α
  • 应用提供商
  • 自动完成
  • 《阿凡达》
  • 徽章
  • 横幅
  • 流血 α
  • 盒子 α
  • 按钮
  • 按钮组
  • Callout卡
  • 标题
  • 复选框
  • 选择列表
  • 可折叠的
  • 颜色选择器
  • α
  • 组合框
  • 内容块 α
  • 上下文保存酒吧
  • 数据表
  • 日期选择器
  • 描述表
  • 显示文本
  • 降落区
  • 空的状态
  • 例外列表
  • 过滤器
  • 页脚的帮助
  • 形式
  • 表格布局
  • 框架
  • 全屏酒吧
  • 网格 α
  • 标题
  • 图标
  • 索引表
  • 内联 α
  • 内联错误
  • 键盘键
  • 布局
  • 链接
  • 列表
  • 列表框
  • 加载
  • 媒体卡
  • 模态
  • 导航
  • 选项列表
  • 页面
  • 页面动作
  • 分页
  • 弹出窗口
  • 进度条
  • 单选按钮
  • 滑块范围
  • 资源项目
  • 资源列表
  • 可滚动
  • 选择
  • 设置切换
  • 弃用
  • 骨架正文
  • 骨架显示文本
  • 框架页面
  • 骨架的标签
  • 骨架缩略图
  • 微调控制项
  • 堆栈
  • 副标题
  • 选项卡
  • 标签
  • 文本 α
  • 文本容器
  • 文本字段
  • 文本样式
  • 缩略图
  • 瓷砖 α
  • 烤面包
  • 工具提示
  • 窗口的顶部
  • 视频缩略图
  • 视觉上隐藏
  • 令牌
  • 图标
  • 贡献
  • 沙盒 α
  • 组合框

    Combobox是一个可访问的自动完成输入,允许商家筛选选项列表并选择一个或多个值。

    当商家可以从预定义的或可编辑的列表中选择一个选项时使用。

    进口列表框组合框图标“@shopify /北极星”进口SearchMinor“@shopify / polaris-icons”进口useStateuseCallbackuseMemo“反应”函数ComboboxExample常量deselectedOptionsuseMemo= >价值“乡村”标签“乡村”价值“古董”标签“古董”价值乙烯基的标签乙烯基的价值“古董”标签“古董”价值“翻新”标签“翻新”常量selectedOptionsetSelectedOptionuseState常量inputValuesetInputValueuseState常量选项setoptionuseStatedeselectedOptions常量updateTextuseCallback价值= >setInputValue价值如果价值= = =setoptiondeselectedOptions返回常量filterRegex正则表达式价值“我”常量resultOptionsdeselectedOptions过滤器选项= >选项标签匹配filterRegexsetoptionresultOptionsdeselectedOptions常量updateSelectionuseCallback选择= >常量matchedOption选项找到选项= >返回选项价值匹配选择setSelectedOption选择setInputValuematchedOption& &matchedOption标签||选项常量optionsMarkup选项长度>0?选项地图选项= >常量标签价值选项返回<列表框选择键$ {价值价值价值选择selectedOption= = =价值accessibilityLabel标签>标签</列表框选项>返回<div风格高度“225 px”><组合框激活<组合框文本字段前缀<图标的源SearchMinor/>onChangeupdateText标签“搜索标签”labelHidden价值inputValue占位符“搜索标签”/>>选项长度>0?<列表框onSelectupdateSelection>optionsMarkup</列表框></组合框></div>

    道具

    想让这个功能变得更好吗?请分享你的反馈

    接口 ComboboxProps
    激活剂 反应ReactElement<|||>

    用于激活弹窗的文本字段组件。

    allowMultiple? 布尔

    允许选择多个选项。

    孩子们? 任何

    要在弹窗内显示的内容。

    preferredPosition? “以上”|“下面”|“mostSpace”

    弹出窗口的首选打开方向。

    willLoadMoreOptions? 布尔

    当到达列表框底部时,是否有更多选项可用于延迟加载。使用分页数据的GraphQL API提供的hasMoreResults布尔值。

    高度? 字符串

    弹出窗口窗格上要设置的高度。

    onScrolledToBottom? () = >无效

    当到达lisbox的底部时触发回调。用于在对列表框选项数据进行分页时延迟加载。

    onClose? () = >无效

    弹窗关闭时触发回调。

    解剖学

    Combobox组件的图表,显示由它组成的较小的基本组件。

    组合框由以下部分组成:

    1. 文本框:一个文本输入,它激活一个弹出窗口,显示一个选项列表。当商家在文本字段中输入时,选项列表将根据输入值进行过滤。选项在选中时替换或添加输入值。
    2. 弹出窗口:包含选项列表的覆盖。
    3. 列表框:要筛选和选择或取消选择的选项列表。
    4. 列表框。选项:要选择或取消选择的单个选项。检查列表框组件文档学习如何将其与各种内容结合起来。

    最佳实践

    组合框组件应该:

    • 要有清晰的标签,以便商家知道有什么样的选择
    • 不能在弹窗内使用
    • 在填充选项数据时,向商家指示加载状态
    • 有意地订购商品,这样商家就很容易找到特定的价值

    内容的指导方针

    的输入字段组合框应该遵循的内容的指导方针对于文本字段。


    排序和过滤

    排序

    物品顺序应该是有意的。订购它们,这样商家就很容易找到特定的价值。你可以这样做:

    • 按字母顺序对选项进行排序
    • 根据商家选择一个选项的频率显示选项

    如果可以选择多个选项,请将选中的项目移到列表的顶部。如果这对您的上下文不起作用,您可以重写此行为。

    过滤

    • 默认情况下,根据菜单项是否匹配文本字段的值进行筛选。
    • 过滤器是默认情况下区分大小写的。
    • 如果默认行为对您的用例没有意义,您可以应用自定义过滤逻辑。

    模式

    标签自动完成

    标签多选输入使商家能够有效地从资源(如产品或订单)中添加或删除标签。它使用内联自动完成组合框模式为商家提供一个可编辑的标签列表,以供浏览和选择。



    可访问性

    结构

    组合框组件是基于ARIA 1.2组合框模式.它是单线的组合文本框和一个弹出窗口.当前实现需要一个列表框要使用的组件。

    组合框弹出窗口默认显示在文本字段或其他控件的下方,因此很容易为商家发现和使用。但是,您可以使用preferredPosition道具。

    组合框对于有视觉、运动和认知障碍的商人来说,特色可能具有挑战性。即使使用最佳实践构建这些特性,也很难与一些辅助技术一起使用。商家应该总是能够搜索,输入数据,或执行其他活动,而不依赖于组合框。

    • 使用组合框作为渐进增强,使界面更容易使用的大多数商家。

    • 要求商家从组合框中做出选择来完成一个任务。

    键盘支持

    • 属性赋予组合框的文本输入键盘焦点选项卡键(或转变+选项卡当向后移动)