今回、react + ts + antdで作っているプログラムにて、Tableのフィルタリングを実装しました。その時、「列の値自体はboolだがフィルタリングの選択項目キーは文字列」というのを実装したのでメモ。
完了フラグが立っていたらチェックを表示という列にて、「全て、未完了、完了」を選択できるようにしてます。
const columns = [
...
{
title: "Bool列",
dataIndex: "isFinished",
key: "isFinished",
render: (value: boolean) => (value ? '✔︎' : ''),
filters: [
{
text: '全て',
value: '1',
},
{
text: '未完了',
value: '2',
},
{
text: '完了',
value: '3',
},
],
onFilter: (value: boolean | Key, record: ListItem) => {
if(value === '1')
return true;
else if(value === '2')
return !record.isFinished;
else if(value === '3')
return record.isFinished;
else
return true;
},
filterSearch: true,
},
];
忘れそう!
コメント