最近用的 表格插件 Handsontable 遇到的render()無效的問題,若後來人遇到的這種問題,可參考。
問題:
初始化或load(data),一開始起作用(渲染沒有問題),再次打開或切換隻顯示一列,點擊那列或重新觸發render(),也生效。
設置 autoColumnSize:true, 或者 colWidths: 150 等等皆無效。
直接用 .render() 渲染還是隻渲染第一列。
分析:
本人用 display:none,來顯示和隱藏。
可能重新 display:block 佈局渲染時沒來得及 調用 Handsontable的render方法,或者Handsontable的render()方法有延遲。
解決:
setTimeout(function(){
hotTable.render();
});
延遲調用hotTable渲染方法。
如果其他未觸發方法也可參考setTimeout()方法。
重新學習setTimeout():
Javascript異步編程之setTimeout與setInterval詳解分析(一)
學習:https://www.cnblogs.com/tugenhua0707/p/4083475.html