欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

ElementUI中el-table表格組件如何自定義表頭

 更新時間:2023年09月12日 09:44:48   作者:Hayley2016  
最近需要做一個el-table的表格,表頭需要顯示提示信息,本文主要介紹了ElementUI中el-table表格組件如何自定義表頭,具有一定的參考價值,感興趣的可以了解一下

問題概述

鼠標移動到el-table表格組件的表頭顯示提示信息,也算是自定義表頭的一種吧。

效果圖:(寶寶不會做動圖,寶寶心里苦?。。。?/p>

1. ElementUI2.0組件庫el-table表格組件常規(guī)用法

先貼上ElementUI2.0組件庫的官網(wǎng)地址:http://element-cn.eleme.io/#/zh-CN ,百度搜索“element”第一個就是啦。

平常使用el-table表格組件是這樣的:

1.   給表格傳參,tableData是一個數(shù)組。

tableData = [
  {date: '2018-01-01',tradeCount: 200, tradeSum: 100}, 
  {date: '2018-01-01', tradeCount: 200,tradeSum: 100}
]

2.   在<el-table-column>中用prop屬性來對應(yīng)對象中的鍵名即可填入數(shù)據(jù)。

3.   用label屬性來定義表格的列名。可以使用width屬性來定義列寬。

4.   表格組件中默認文本居左顯示。align=”right”屬性可設(shè)置文本向右顯示,當然還有 left、 center 等屬性值。

5.   若想在單元格中自定義,要用<template>標簽包裹起來,slot-scope屬性傳參,scope.row取值。

6.   添加事件。

7. 表格還有很多豐富的參數(shù),根據(jù)項目需求選擇合適的參數(shù)吧!

有了對于el-table的基本了解之后,下面開始正式介紹如何在el-table表格組件中自定義表頭?。?!

2. render-header屬性了解一下

我們不能直接在prop屬性直接傳遞一個組件或者html元素。正確的做法是:Table組件提供了render-header屬性,可以好好利用一番。

這是官網(wǎng)對render-header屬性的描述

3. 解決辦法--JSX語法

1.   在<el-table-column>中傳入render-header屬性

<el-table-column align="right" :render-header="renderHeader">
    <template slot-scope="scope">{{scope.row.collected}}</template>
</el-table-column>

2.   在methods自定義renderHeader方法,return (<div></div>)是JSX語法,詳見官網(wǎng) https://cn.vuejs.org/v2/guide/render-function.html#JSX

renderHeader(h, { column, $index }){
  return (
    <div>
        <span>實收總金額(元) </span>
        <el-tooltip class="item" effect="dark" content="實收總金額 = 收款總金額 - 退款總金額"  placement="bottom">
          <i class="el-icon-warning table-msg"></i>
        </el-tooltip>
    </div>
  )
}

3.   npm run dev 編譯項目之后,報錯,要使用jsx語法需要先安裝編譯插件

4. 安裝JSX語法編譯工具

npm install\
  babel-plugin-syntax-jsx\
  babel-plugin-transform-vue-jsx\
  babel-helper-vue-jsx-merge-props\
  babel-preset-es2015\
  --save-dev

5. 配置.babelrc文件

{
  "presets": ["es2015"],
  "plugins": ["transform-vue-jsx"]
}

4. 解決辦法--渲染函數(shù)

可直接使用渲染函數(shù),不使用JSX語法,就不需要安裝額外的編譯插件啦

renderHeader(h, data) {
    return h("div", [
        h("span", ['實收總金額(元) ']),
        h("el-tooltip", {
            attrs: {
                class: "item",
                effect: "dark",
                content: "實收總金額 = 收款總金額 - 退款總金額",
                placement: "bottom"
            }
        }, [
            h("i", {
                'class': 'el-icon-warning table-msg'
            })
        ])
    ])
}

h 作為 createElement 的別名是 Vue 生態(tài)系統(tǒng)中的一個通用慣例,實際上也是 JSX 所要求的,如果在作用域中 h 失去作用, 在應(yīng)用中會觸發(fā)報錯

問題匯總:

1. 博主根據(jù)實際項目情況,編寫了這篇博文。存在一個坑????

看到這個小小的i標簽沒有,就是它。有同學(xué)直接拷貝代碼之后,因為沒有對這個i 標簽設(shè)置樣式。也就沒有鼠標上移顯示tooltip的效果了。因為將上文我們的tooltip組件翻譯成HTML代碼是這樣的:(我們把鼠標放到i標簽上才能顯示tooltip哦)

<div>
  <span>實收總金額(元) </span>
  <el-tooltip class="item" effect="dark" content="實收總金額 = 收款總金額 - 退款總金額" placement="bottom">
    <i class="el-icon-warning table-msg"></i>
  </el-tooltip>
</div>

2.  渲染函數(shù)的語法規(guī)則詳見 https://cn.vuejs.org/v2/guide/render-function.html,自己多寫幾遍就能明白啦!

對于如何在自定義表頭添加事件,可以查看《createElement參數(shù)——深入data對象》 

到此這篇關(guān)于ElementUI中el-table表格組件如何自定義表頭的文章就介紹到這了,更多相關(guān)el-table自定義表頭內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Vue和React中diff算法的區(qū)別及說明

    Vue和React中diff算法的區(qū)別及說明

    React和Vue都使用虛擬DOM和diff算法來更新DOM,但它們在實現(xiàn)上有所不同,React采用基于索引的比較,Vue采用雙端比較算法,React在比較時不復(fù)用不同類型的節(jié)點,而Vue會優(yōu)先復(fù)用兩端相同的節(jié)點,React對key的依賴較高,而Vue在沒有key時也能通過雙端比較優(yōu)化
    2025-03-03
  • 關(guān)于移動端與大屏幕自適應(yīng)適配方案

    關(guān)于移動端與大屏幕自適應(yīng)適配方案

    這篇文章主要介紹了關(guān)于移動端與大屏幕自適應(yīng)適配方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • vue組件封裝實現(xiàn)抽獎隨機數(shù)

    vue組件封裝實現(xiàn)抽獎隨機數(shù)

    這篇文章主要為大家詳細介紹了vue組件封裝實現(xiàn)抽獎隨機數(shù),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • Vue實現(xiàn)訂單支付倒計時功能

    Vue實現(xiàn)訂單支付倒計時功能

    這篇文章主要給大家介紹了Vue實現(xiàn)訂單支付倒計時功能,倒計時這要運用在創(chuàng)建訂單后15分鐘內(nèi)進行支付,否則訂單取消,本文結(jié)合示例代碼給大家詳細講解,需要的朋友可以參考下
    2023-08-08
  • Vue中$set()的使用方法場景分析

    Vue中$set()的使用方法場景分析

    由于 Vue 會在初始化實例時進行雙向數(shù)據(jù)綁定,使用Object.defineProperty()對屬性遍歷添加 getter/setter 方法,所以屬性必須在 data 對象上存在時才能進行上述過程 ,這樣才能讓它是響應(yīng)的,這篇文章主要介紹了Vue中$set()的使用方法場景分析,需要的朋友可以參考下
    2023-02-02
  • elementUI中el-dropdown的command實現(xiàn)傳遞多個參數(shù)

    elementUI中el-dropdown的command實現(xiàn)傳遞多個參數(shù)

    這篇文章主要介紹了elementUI中el-dropdown的command實現(xiàn)傳遞多個參數(shù)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • 在Vue框架中配置Mock服務(wù)器的方法

    在Vue框架中配置Mock服務(wù)器的方法

    在前端開發(fā)中,如果需要模擬后端數(shù)據(jù),而又不想開發(fā)一個后端服務(wù)器, 則可以借助mock.js配置一個后端服務(wù)器來返回前端需要的數(shù)據(jù),本文將會分別介紹在Quasar項目和Vite項目中Mock服務(wù)器的配置方法
    2022-12-12
  • Vs-code/WebStorm中構(gòu)建Vue項目的實現(xiàn)步驟

    Vs-code/WebStorm中構(gòu)建Vue項目的實現(xiàn)步驟

    本文主要介紹了在Vs-code/WebStorm中構(gòu)建Vue項目,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • 如何利用vue展示.docx文件、excel文件和csv文件內(nèi)容

    如何利用vue展示.docx文件、excel文件和csv文件內(nèi)容

    最近遇到了一些新的需求,需要前端實現(xiàn)文件預(yù)覽功能,下面這篇文章主要給大家介紹了關(guān)于如何利用vue展示.docx文件、excel文件和csv文件內(nèi)容的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-04-04
  • Vue?和?Django?實現(xiàn)?Token?身份驗證的流程

    Vue?和?Django?實現(xiàn)?Token?身份驗證的流程

    這篇文章主要介紹了Vue?和?Django?實現(xiàn)?Token?身份驗證?,Vue.js?和?Django?編寫的前后端項目中,實現(xiàn)了基于?Token?的身份驗證機制,其他前后端框架的?Token?實現(xiàn)原理與本文一致,需要的朋友可以參考下
    2022-08-08

最新評論