鍍金池/ 問答/HTML/ 求思路,vue封裝table組件,列需要適應(yīng)自適應(yīng)怎么處理好呢?

求思路,vue封裝table組件,列需要適應(yīng)自適應(yīng)怎么處理好呢?

最近需要對項目用到的table做統(tǒng)一修改,所以想把它封裝成公共組件,避免以后還有這種需求。

思路:

把列頭和數(shù)據(jù)表格內(nèi)容當(dāng)屬性傳到組件里面,列頭的td和數(shù)據(jù)行的td用對象包裝一下,因為他們需要更多的屬性。

問題:

現(xiàn)在主要問題是,因為需要適配移動端,所以難免有一些列需要動態(tài)控制(屏幕寬度改變)隱藏或顯示,之前一直用media來做的,通過寫多個media,慢慢的逐列隱藏或顯示,如果封裝到組件里面,改怎么實現(xiàn)呢?我打算傳遞一個 width 過去,如果小于這個數(shù)值,表示隱藏,

顯示隱藏列用什么做好一點呢?js 監(jiān)聽 resize 么?這樣的話會不會影響性能呢?

有更好的辦法么?

回答
編輯回答
枕頭人

我在VUE上沒有做過table組件,但在Angular上做過.不過我想道理和邏輯是想通的.
我在做隱藏列和顯示列這種操作時,為了保證效率,我采用的方式是動態(tài)生成style樣式表,樣式表會包括沒一列的樣式.這樣在每次改變的時候只會修改對應(yīng)列的樣式,然后由瀏覽器統(tǒng)一渲染.不需要做什么JS對頁面DOM的操作.

希望能對你有幫助.

2017年10月17日 01:03
編輯回答
伴謊

推薦使用element-ui,里面有一個柵格系統(tǒng),有些像bootstrap,而且如果你不想使用element-ui的其它組件,是可以按需引入的,不用擔(dān)心文件過大。

可以去了解了解:http://element-cn.eleme.io/2....

2017年11月22日 13:03