浏览器存储表格宽度,适应当前用户设置
surverWidth(newWidth, oldWidth, column, event) {
setTimeout(() => {
// console.log(newWidth, oldWidth, column, event)
var applyTableColWidths = []
var applyTable = document.getElementById('applyTable')
var applyTableColgroup = applyTable.getElementsByTagName('colgroup')[0]
var applyTableCol = applyTableColgroup.getElementsByTagName('col')
for (var i = 0; i < applyTableCol.length; i++) {
applyTableColWidths.push(applyTableCol[i].width)
}
console.log(applyTableColWidths);
// console.log(applyTableColWidths)
// localStorage.setItem('applyTableColWidths', JSON.stringify(applyTableColWidths))
this.setCookie('applyTableColWidths', JSON.stringify(applyTableColWidths), 30)//把对应每列的数组宽度存到cookie里
}, 100)
},
getTableColWidth() {
var self = this
var tableWidth = self.getCookie('applyTableColWidths')
if (tableWidth.length!=0) {
for (var item = 0; item < tableWidth.length; item++) {
self.width.push(JSON.parse(tableWidth)[item]);
}
console.log(self.width.length);
}
},
setCookie: function (cname, cvalue, exdays) {
var d = new Date();
d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));
var expires = 'expires=' + d.toUTCString();
document.cookie = cname + '=' + cvalue + "; " + expires;
},
getCookie: function (cname) {
var name = cname + '=';
var ca = document.cookie.split(';');
for (var i = 0; i < ca.length; i++) {
var str = ca[i].split('=')
if (str[0].trim() === 'applyTableColWidths') {
console.log("str"+str[1]);
return str[1];
}
}
return ""
},
data(){
width:[],
}
重要的是 @header-dragend=“surverWidth”
<el-table :data="tableData" class="product-table" border id="applyTable"
:header-cell-style="{ 'text-align': 'center', background: '#F5F7FA' }" :cell-style="{ 'text-align': 'center' }"
:default-sort="{ prop: 'createTime', order: 'descending' }" tooltip-effect="dark" style="width: 100%"
@header-dragend="surverWidth">