vue 封裝el-table組件,使用v-bind="$props" 和 $listeners

項目中想基于element 中el-talbe 在做一層封裝禾锤,這樣做的好處是

  • 對el-table 組件可控
  • 基于el-table 組件做定制化開發(fā)

想要實現(xiàn)組件層級如下:

page 組件蛔屹,業(yè)務層代碼
my-table 組件,自己封裝的組件青团,中間層代理組件,需要開發(fā)
el-talbe 組件咖楣,基于element-ui 的table組件

image.png

開發(fā)思路

開發(fā)邏輯是督笆,在page頁面組件中,引入 my-table 組件诱贿,傳遞屬性prop到 my-table 組件娃肿,my-table 組件傳遞屬性prop 到 el-table組件。

數(shù)據(jù)傳遞

my-table需要實現(xiàn)el-table 組件的所有prop珠十,event 傳遞料扰。示意圖如下:


image.png

事件event傳遞

并且el-table 中所有的emit 事件,都需要在my-table 做一層轉(zhuǎn)發(fā)到 page 組件焙蹭。


image.png

my-table 需要做到似有似無到效果晒杈,但要做到可攔截,并且做數(shù)據(jù)格式處理孔厉,樣式定制化拯钻。

初級實現(xiàn)

page組件,所有prop都是el-table 的配置

<page 
    :data="data" 
    :height ="100"
    :max-height="200" 
    :stripe ="false"
    :border="false"
    :size="'small'"
    ...
>
</page>

my-table 做代理轉(zhuǎn)發(fā)prop 到el-table

<my-table>
   <el-table
    :data="data" 
    :height ="100"
    :max-height="200" 
    :stripe ="false"
    :border="false"
    :size="'small'"
    ...
  >
  </el-table>
</my-table>
<script>
props: {
  data,
  height,
  maxHeight,
  stripe,
  border,
  size
   ...
}
</script>

高級實現(xiàn)

page組件,所有prop都是el-table 的配置

<page 
    :data="data" 
    :height ="100"
    :max-height="200" 
    :stripe ="false"
    :border="false"
    :size="'small'"
    ...
>
</page>

my-table 使用v-bind="$props"做事件event代理轉(zhuǎn)發(fā)到el-table

<my-table>
   <el-table
    v-bind="$props"
  >
  </el-table>
</my-table>
<script>
</script>

my-table 使用v-on="$listeners"做代理轉(zhuǎn)發(fā)prop 到el-table

<my-table>
   <el-table
    v-bind="$props"
    v-on="$listeners"
  >
  </el-table>
</my-table>
<script>
</script>

如何實現(xiàn)自定義,添加分頁組件

處理Table-column Attributes

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末烟馅,一起剝皮案震驚了整個濱河市说庭,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌郑趁,老刑警劉巖刊驴,帶你破解...
    沈念sama閱讀 211,042評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異寡润,居然都是意外死亡捆憎,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評論 2 384
  • 文/潘曉璐 我一進店門梭纹,熙熙樓的掌柜王于貴愁眉苦臉地迎上來躲惰,“玉大人,你說我怎么就攤上這事变抽〈〔Γ” “怎么了氮块?”我有些...
    開封第一講書人閱讀 156,674評論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長诡宗。 經(jīng)常有香客問我滔蝉,道長,這世上最難降的妖魔是什么塔沃? 我笑而不...
    開封第一講書人閱讀 56,340評論 1 283
  • 正文 為了忘掉前任蝠引,我火速辦了婚禮,結(jié)果婚禮上蛀柴,老公的妹妹穿的比我還像新娘螃概。我一直安慰自己,他們只是感情好鸽疾,可當我...
    茶點故事閱讀 65,404評論 5 384
  • 文/花漫 我一把揭開白布吊洼。 她就那樣靜靜地躺著,像睡著了一般肮韧。 火紅的嫁衣襯著肌膚如雪融蹂。 梳的紋絲不亂的頭發(fā)上旺订,一...
    開封第一講書人閱讀 49,749評論 1 289
  • 那天弄企,我揣著相機與錄音,去河邊找鬼区拳。 笑死拘领,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的樱调。 我是一名探鬼主播约素,決...
    沈念sama閱讀 38,902評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼笆凌!你這毒婦竟也來了圣猎?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,662評論 0 266
  • 序言:老撾萬榮一對情侶失蹤乞而,失蹤者是張志新(化名)和其女友劉穎送悔,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體爪模,經(jīng)...
    沈念sama閱讀 44,110評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡欠啤,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了屋灌。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片洁段。...
    茶點故事閱讀 38,577評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖共郭,靈堂內(nèi)的尸體忽然破棺而出祠丝,到底是詐尸還是另有隱情疾呻,我是刑警寧澤,帶...
    沈念sama閱讀 34,258評論 4 328
  • 正文 年R本政府宣布写半,位于F島的核電站罐韩,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏污朽。R本人自食惡果不足惜散吵,卻給世界環(huán)境...
    茶點故事閱讀 39,848評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望蟆肆。 院中可真熱鬧矾睦,春花似錦、人聲如沸炎功。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,726評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蛇损。三九已至赁温,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間淤齐,已是汗流浹背股囊。 一陣腳步聲響...
    開封第一講書人閱讀 31,952評論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留更啄,地道東北人稚疹。 一個月前我還...
    沈念sama閱讀 46,271評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像祭务,于是被迫代替她去往敵國和親内狗。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,452評論 2 348

推薦閱讀更多精彩內(nèi)容