
<template>
<a-table
bordered
:columns="columns"
:data-source="formState.list"
@change="handleTableChange"
></a-table>
<template>
<script setup>
import { reactive, ref, onMounted } from "vue"
const columns = ref([
{
title: "角色名称",
dataIndex: "roleName",
key: "roleName",
sorter: true,
ellipsis: true,
width: 100,
},
{
title: "英文名称",
dataIndex: "roleNameEn",
key: "roleNameEn",
sorter: true,
ellipsis: true,
width: 100,
}
])
const formState = reactive({
list: [],
orderBy: '',
orderType: '',
})
// 每次触发排序是在colums 记录排序状态
const handleTableChange = (pag, filters, sorter) => {
columns.value.forEach( item => {
if(item.key === sorter.field){
item.sortOrder = sorter.order
}
})
formState.orderBy = sorter.field
formState.orderType = sorter.order // "ascend" "descend"
getListMsg()
}
// 页面数据初始化加载入口
onMounted(() => {
getListMsg()
})
// 重置表格排序
const resetSearch = () => {
columns.value.forEach( item => {
item.sortOrder = ''
})
formState.orderBy = ''
formState.orderType = ''
getListMsg()
}
</script>
<template>
<a-table
:key="isSet"
bordered
:columns="columns"
:data-source="formState.list"
></a-table>
<template>
<script setup>
import { reactive, ref, onMounted } from "vue"
const columns = ref([
{
title: "角色名称",
dataIndex: "roleName",
key: "roleName",
sorter: true,
ellipsis: true,
width: 100,
},
{
title: "英文名称",
dataIndex: "roleNameEn",
key: "roleNameEn",
sorter: true,
ellipsis: true,
width: 100,
}
])
const formState = reactive({
list: [],
orderBy: '',
orderType: '',
})
const isSet = ref(false)
</script>
const resetSearch = () => {
isSet.value = !isSet
formState.orderBy = ''
formState.orderType = ''
getListMsg()
}