使用element table api里面自带函数header-dragend可解决该问题
<el-table
@header-dragend="headerDragend"
>
// 表头拖动保存列宽
const headerDragend = (newWidth, oldWidth, column, event) => {
const newTableHeader = state.columns.map((item, index) => {
if (item.prop == column.property) {
item.width = newWidth
}
return item
})
localStorage.setItem(
'tableHeader',
JSON.stringify(newTableHeader)
)
}
onMounted(() => {
if (localStorage.getItem('tableHeader')) {
state.columns= JSON.parse(
localStorage.getItem('tableHeader')
)
}
})