簡體   English   中英

antd 表,禁用列的未排序選項(強制排序)

[英]antd table, disable unsorted option for a column (force sort)

要對列啟用排序,請使用值為['ascend', 'descend'] sortDirections ['ascend', 'descend']sortDirections參數。 使用此設置有 3 個排序選項:“升序”、“降序”、“未排序”。

有沒有一種簡單的方法來強制排序,刪除未排序的選項?

例如:

給定一個未排序的數字列表 [1, 5 ,2 ,10] 。 目前,我可以使用值['ascend', 'descend'] sortDirections ['ascend', 'descend']設置sortDirections 這將提供 3 個選項,升序排序、降序排序和未排序,例如與原始數字相同。

期望的行為:

我想強制排序,這意味着我不希望“未排序”選項可用。 如果用戶單擊列標題,則應按升序或降序對整個列進行排序。

來自文檔但實際上很有幫助。

“您可以設置為 ['ascend', 'descend', 'ascend'] 以防止分揀機回到默認狀態。”

我也一直在摸索,沒有辦法(截至目前)自定義列標題排序行為來忽略未排序狀態。 此外,開發人員在這里明確表示他們想堅持這種方式:

https://github.com/ant-design/ant-design/issues/12905

@mkkekkonen 確保您在指向它之前使用過文檔...

我最近想要類似的行為,我做了以下操作,效果很好。

const [sort, setSort] = useState('ascend');

{
      title: 'Age',
      dataIndex: 'age',
      key: 'age',
      sorter: (a, b) => a.age - b.age,
      sortOrder: sort,
      onHeaderCell: () => ({
        onClick: () => setSort(sort === 'ascend' ? 'descend' : 
      'ascend'),       
      sortDirections: ['ascend', 'descend', 'ascend'],
      }),
},

文檔

sortDirections: ['ascend' | 'descend'] sortDirections: ['ascend' | 'descend']為每列定義可用的排序方法,當設置在 table props 上時對所有列都有效。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM