在使用element ui框架進行項目開發的時候,表格的列是根據後臺數據動態生成的,但是發現在列刷新的視乎,會出現表格完全空白,沒有顯示的情況,經過自己編寫demo發現,在增加列的情況下表格正常,但是一旦表格列減少時就會出問題,對element底層代碼進行調試發現,在node_modules/element-ui/lib/elementui.common.js 中的一個函數
removeColumn: function removeColumn(states, column) { var _columns = states._columns; if (_columns) { _columns.splice(_columns.indexOf(column), 1); }
這個函數中_columns是一個數組,column是一個對象,當indexOf匹配不到的時候,返回-1,但是splice函數會執行刪除操作,所以必須加入判斷
removeColumn: function removeColumn(states, column) { var _columns = states._columns; if (_columns.indexOf(column) != -1) { _columns.splice(_columns.indexOf(column), 1); }
動態列問題解決