需求是点击表头使得对应列可以进行排序(降序/升序)
这是完整的文件夹:包含vue,js.css文件
>
:show-overflow-tooltip="true"
>
{{scope.row.amount | formatNum}}
{{scope.row.m_num | formatNum}}
{{scope.row.o_num | formatNum}}
@import "TableTop2";
js文件:
export default {
name: "TableTop2",
props:{
tableData2:{
type:Array,
default:function () {
return []
}
}
},
data(){
return{
list:[]
}
},
// mounted() {
// this.getDeviceTypes();
// },
methods:{
// //初始化加载列表
// getDeviceTypes() {
// this.loading = true;
// //将“创建时间”转换为所需的时间格式
// this.tableData.map(item => {
// item.createTime = this.$moment(item.createTime).format("YYYY-MM-DD HH:mm:ss");
// });
// this.loading = false;
// },
// 监听事件
changeTableSort(column){
console.log(column)
//获取字段名称和排序类型
var fieldName = column.prop;
var sortingType = column.order;
//如果字段名称为“创建时间”,将“创建时间”转换为时间戳,才能进行大小比较
if(fieldName=="createTime"){
this.tableData2.map(item => {
item.createTime = this.$moment(item.createTime).valueOf();
});
}
//按照降序排序
if(sortingType == "descending"){
this.tableData2 = this.tableData2.sort((a, b) => b[fieldName] - a[fieldName]);
}
//按照升序排序
else{
this.tableData2 = this.tableData2.sort((a, b) => a[fieldName] - b[fieldName]);
}
//如果字段名称为“创建时间”,将时间戳格式的“创建时间”再转换为时间格式
// if(fieldName=="createTime"){
// this.tableData.map(item => {
// item.createTime = this.$moment(item.createTime).format(
// "YYYY-MM-DD HH:mm:ss"
// );
// });
// }
console.log(this.tableData2);
}
}
};