【发布时间】:2021-03-30 18:50:21
【问题描述】:
嗨,我做了一个排序功能,我定义了我的 data.map 的默认排序是 asc 并且在我的按钮中我更改为 desc 所以我的问题是我如何在按钮上同时执行 asc 和 desc
function AvailableVet() {
const [vets, setVets] = useState([]);
const [sortType,setSorted] = useState('asc');
const sorted = vets.sort((a,b)=>{
const isReversed = (sortType ==='asc') ? 1 : -1;
return isReversed * a.name.localeCompare(b.name)
})
const onSort = sortType =>{
setSorted({sortType})
}
<React.Fragment>
<div className='title'>
<h5 style={{ marginBottom: '20px' }}>
{vets.length} médicos vetenários disponíveis
</h5>
<Button align='left' className='text-field' placeholder='Ordenar' onClick={()=>onSort('desc')} endIcon={<UnfoldMoreSharpIcon></UnfoldMoreSharpIcon>}>Ordenar</Button>
</div>
<div>
{sorted.map((data) => (
<ObterMedicos
key={data.user_id}
id={data.user_id}
name={data.name}
specialty={data.specialty}
/>
))}
</div>
</React.Fragment>
【问题讨论】: