Browse Source

Merge pull request #5126 from wenzhixin/bugfix/fix-5122

Adding cookie support for toggle all columns options
文翼 5 years ago
parent
commit
a4f9f1d9d8
1 changed files with 6 additions and 9 deletions
  1. 6 9
      src/extensions/cookie/bootstrap-table-cookie.js

+ 6 - 9
src/extensions/cookie/bootstrap-table-cookie.js

@@ -387,16 +387,13 @@ $.BootstrapTable = class extends $.BootstrapTable {
 
   _toggleColumn (...args) {
     super._toggleColumn(...args)
+    UtilsCookie.setCookie(this, UtilsCookie.cookieIds.columns, JSON.stringify(this.getVisibleColumns()))
+  }
 
-    const visibleColumns = []
-
-    for (const column of this.columns) {
-      if (column.visible) {
-        visibleColumns.push(column.field)
-      }
-    }
+  _toggleAllColumns (...args) {
+    super._toggleAllColumns(...args)
 
-    UtilsCookie.setCookie(this, UtilsCookie.cookieIds.columns, JSON.stringify(visibleColumns))
+    UtilsCookie.setCookie(this, UtilsCookie.cookieIds.columns, JSON.stringify(this.getVisibleColumns()))
   }
 
   selectPage (page) {
@@ -471,7 +468,7 @@ $.BootstrapTable = class extends $.BootstrapTable {
 
     if (columnsCookie) {
       for (const column of this.columns) {
-        column.visible = columnsCookie.includes(column.field) || !column.switchable
+        column.visible = columnsCookie.filter((c) => { return c.field === column.field }).length > 0 || !column.switchable
       }
     }
   }