排序列表

排序列表用于对集合进行排序。


import { OrderList } from 'primereact/orderlist';
         

排序列表用作具有 valueonChange 属性的受控输入。列表项的内容需要使用 itemTemplate 属性定义,该属性接收列表中作为参数的对象。

产品
    
    <OrderList dataKey="id" value={products} onChange={(e) => setProducts(e.value)} itemTemplate={itemTemplate} header="Products"></OrderList>
             

    通过启用 filter 属性,可以使用输入字段过滤项目。使用 filterBy 属性配置的对象的属性检查过滤器值,并使用 filterMatchMode (例如,contains) 匹配模式进行过滤。

    产品
      
      <OrderList dataKey="id" value={products} onChange={(e) => setProducts(e.value)} itemTemplate={itemTemplate} header="Products" filter filterBy="name"></OrderList>
               

      通过启用 dragdrop 属性,可以使用拖放重新排序项目。

      产品
        
        <OrderList dataKey="id" value={products} onChange={(e) => setProducts(e.value)} itemTemplate={itemTemplate} 
            header="Products" dragdrop></OrderList>
                 

        屏幕阅读器

        可以通过传递 aria-labelledbyaria-label 属性,使用 listProps 提供描述列表框的值。列表元素具有 listbox 角色和 aria-multiselectable 属性。每个列表项都有一个 option 角色,并带有 aria-selectedaria-disabled 属性。

        控件按钮是 button 元素,带有 aria-label,默认情况下,该 aria-label 引用 locale API 的 aria.moveToparia.moveUparia.moveDownaria.moveBottom 属性,或者您可以使用 moveTopButtonPropsmoveUpButtonPropsmoveDownButtonPropsmoveBottomButtonProps 来自定义按钮,例如覆盖默认的 aria-label 属性。

        
        <span id="lb">Options</span>
        <OrderList aria-labelledby="lb" />
        
        <OrderList aria-label="City" />
             

        列表框键盘支持

        按键功能
        tab将焦点移动到第一个选定的选项,如果没有,则第一个选项接收焦点。
        向上箭头将焦点移动到上一个选项。
        向下箭头将焦点移动到下一个选项。
        回车切换焦点选项的选定状态。
        空格切换焦点选项的选定状态。
        home将焦点移动到第一个选项。
        end将焦点移动到最后一个选项。
        shift + 向下箭头将焦点移动到下一个选项,并切换选择状态。
        shift + 向上箭头将焦点移动到上一个选项,并切换选择状态。
        shift + 空格选择最近选定的选项和焦点选项之间的项目。
        control + shift + home选择焦点选项和直到第一个选项的所有选项。
        control + shift + end选择焦点选项和直到第一个选项的所有选项。
        control + a选择所有选项。

        按钮键盘支持

        按键功能
        回车执行按钮操作。
        空格执行按钮操作。