私は反応仮想化からグリッドに実装しました。ユーザーがアイコンをクリックして値をソートできる可能性があります。私はアイコンがreact-bootstrap tableのソートアイコンと同じ動作をしたいと思います。仮想化されたグリッドソートアイコンに反応します
現在、私のアイコンはthisです。私は列の文字列をクリックすると、列番号は円のアイコンに戻りません。ここで
は私の並べ替えコンポーネントです:
class SortColumn extends React.Component {
constructor(props) {
super(props);
this.onClick = this.onClick.bind(this);
this.state = {
sortIcon: 'fa fa-circle',
id: null,
};
}
onClick() {
const { columnId, sort } = this.props;
const newSort = sort;
newSort.id = columnId;
if (sort.asc === true) {
newSort.asc = false;
this.setState({
sortIcon: 'fa fa-chevron-down',
id: columnId,
});
} else if (sort.asc === false) {
newSort.asc = true;
this.setState({
sortIcon: 'fa fa-chevron-up',
id: columnId,
});
}
this.props.updateSort(newSort);
}
render() {
return (
<i
onClick={this.onClick}
styleName="columnSettingsSort"
className={this.state.sortIcon} aria-hidden="true"
/>
);
}
}
あなたが任意のアイデアを持っていますか?
私はすべてを理解しているかどうかはわかりません。ここに私がしたことがあります。 3つのコンポーネント、GridViewレンダリングColumnHeader、SortColumnレンダリングがあります。 GridViewコンポーネントにcolumnIdとsort-directionの状態を入れました。 GridViewからsortColumnへのソート方向を小道具として渡しました。 SortColumnのレンダリングでは、prop sort-directionが昇順か降順かをチェックし、対応するアイコンを表示します。 今、SortColumnをクリックするたびに、すべての列のアイコンが変更されます。 私は何かが間違っていると誤解しましたか? – Philippe
あなたの近くのような音!また、_sortをcolumn_自体で格納する必要があります。この方法では、現在ソートされている列の上下矢印のみを表示することがわかります。他のユーザーは、アクティブでないときに表示されるデフォルトUIを表示する必要があります。理にかなっている? – brianvaughn