天天看點

ant design table左側_Ant Design table 排序 ,點選頭部隻有升序和降序

state = {

sortedInfo: {

columnKey:'proportion',

order:'descend'

},

saveSortedInfo:null

}

每列

const columns = [

{

title: '名稱',

dataIndex: 'name',

key: 'name',

className:'t_center',

width:'120px'

},

{

title: '占比',

dataIndex: 'proportion',

key: 'proportion',

className:'t_center',

sorter: (a, b) => a.proportion - b.proportion,

defaultSortOrder:'descend',

sortDirections: [ 'descend','ascend'],

sortOrder: sortedInfo.columnKey === 'proportion' && sortedInfo.order,

},

{....},{...}

]

//變化事件

function has_value(data){

return Object.keys(data).length>0

}

handleChange = (pagination, filters, sorter) => {

if(has_value(sorter)){ //判斷sorter 是否為null ,我用的是Object.keys(obj).length

this.setState({

sortedInfo: sorter,

saveSortedInfo: sorter //儲存此次點選的對象

});

}else{

this.setState({

sortedInfo:{

order:this.state.saveSortedInfo.order=='ascend'?'descend':'ascend',

columnKey:this.state.saveSortedInfo.columnKey

}

})

}

}