最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Element el-table 表格使用詳解

 更新時(shí)間:2024年03月26日 14:58:16   作者:程序員大陽(yáng)  
我們的數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫(kù),不就是以表格的形式存在嗎,所以在界面上顯示、操作,使用表格來(lái)處理也是非常合理的,這篇文章給大家介紹Element el-table 表格使用方法,感興趣的朋友一起看看吧

1. 前言

如果是開(kāi)發(fā)功能型的網(wǎng)站,例如各類(lèi)信息管理系統(tǒng),那么表格的使用頻率會(huì)相當(dāng)之高。

實(shí)際上,我們的數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫(kù),不就是以表格的形式存在嗎?所以在界面上顯示、操作,使用表格來(lái)處理也是非常合理的。

本篇就來(lái)介紹下el-table表格組件的使用方法。

2. 基本用法

針對(duì)如下數(shù)據(jù):

 	  tableData: [{
        date: '2016-05-02',
        name: '王小虎',
        address: '上海市普陀區(qū)金沙江路 1518 弄'
      }, {
        date: '2016-05-04',
        name: '王小虎',
        address: '上海市普陀區(qū)金沙江路 1517 弄'
      }, {
        date: '2016-05-01',
        name: '王小虎',
        address: '上海市普陀區(qū)金沙江路 1519 弄'
      }],

可以使用el-table將數(shù)據(jù)展示為表格,代碼如下:

基本用法
    <el-table :data="tableData">
      <el-table-column prop="date" label="日期" width="180">
      </el-table-column>
      <el-table-column prop="name" label="姓名" width="180">
      </el-table-column>
      <el-table-column prop="address" label="地址">
      </el-table-column>
    </el-table>

解釋下,el-table表示表格組件,data屬性用來(lái)綁定數(shù)據(jù)列表。

el-table-column表示表格的一列,prop屬性用于指定該列綁定數(shù)據(jù)列表的屬性名,label是列的顯示名稱(chēng),width用于指定列寬度。

注意,一般最后一列的寬度我們不指定,這樣的話(huà)可以自動(dòng)占滿(mǎn)剩余空間。

上述代碼效果如下:

3. 顯示斑馬紋

為表格添加stripe屬性,即可開(kāi)啟斑馬紋,由于斑馬紋效果較好,所以一般都是開(kāi)啟的。

 	顯示斑馬紋
    <el-table :data="tableData" stripe>
      <el-table-column prop="date" label="日期" width="180">
      </el-table-column>
      <el-table-column prop="name" label="姓名" width="180">
      </el-table-column>
      <el-table-column prop="address" label="地址">
      </el-table-column>
    </el-table>

效果如下:

4. 顯示邊框

邊框就不用說(shuō)了,基本所有表格,帶上邊框會(huì)效果更好一些。添加border屬性即可顯示邊框:

帶邊框
    <el-table :data="tableData" border>
      <el-table-column prop="date" label="日期" width="180">
      </el-table-column>
      <el-table-column prop="name" label="姓名" width="180">
      </el-table-column>
      <el-table-column prop="address" label="地址">
      </el-table-column>
    </el-table>

效果如下,注意最外圍的灰色框線(xiàn),是我截圖時(shí)候添加的,不是網(wǎng)頁(yè)實(shí)際效果。

5. 自定義尺寸

通過(guò)將size設(shè)置為medium/small/mini,可以調(diào)整表格尺寸,例如mini:

自定義尺寸--medium / small / mini
    <el-table :data="tableData" size="mini" border>
      <el-table-column prop="date" label="日期" width="180">
      </el-table-column>
      <el-table-column prop="name" label="姓名" width="180">
      </el-table-column>
      <el-table-column prop="address" label="地址">
      </el-table-column>
    </el-table>

效果如下,很明顯更加緊湊了。

6. 顯示索引

可以添加一列,并將列類(lèi)型設(shè)置為type,即可自動(dòng)顯示索引:

 	顯示索引
    <el-table :data="tableData" border>
      <el-table-column label="序號(hào)" type="index" width="100">
      </el-table-column>
      <el-table-column prop="date" label="日期" width="300">
      </el-table-column>
      <el-table-column prop="name" label="姓名" width="300">
      </el-table-column>
      <el-table-column prop="address" label="地址" width="300">
      </el-table-column>
    </el-table>

效果:

7. 顯示內(nèi)容過(guò)長(zhǎng)時(shí)的提示

當(dāng)某列數(shù)據(jù)內(nèi)容超過(guò)列寬度時(shí),可以通過(guò)為列添加show-overflow-tooltip屬性,展示提示信息。

  	顯示內(nèi)容過(guò)長(zhǎng)時(shí)的提示
    <el-table :data="tableData" border>
      <el-table-column prop="date" label="日期" width="100" show-overflow-tooltip>
      </el-table-column>
      <el-table-column prop="name" label="姓名" width="100" show-overflow-tooltip>
      </el-table-column>
      <el-table-column prop="address" label="地址" width="100" show-overflow-tooltip>
      </el-table-column>
    </el-table>

效果如下:

8. 自定義行樣式

如果自帶的樣式無(wú)法滿(mǎn)足需求,還可以自定義樣式:

自定義行樣式
    <el-table :data="tableData" border :row-class-name="tableRowClassName">
      <el-table-column prop="date" label="日期" width="180">
      </el-table-column>
      <el-table-column prop="name" label="姓名" width="180">
      </el-table-column>
      <el-table-column prop="address" label="地址">
      </el-table-column>
    </el-table>

如上代碼,行樣式由tableRowClassName方法決定,代碼如下:

tableRowClassName({ row, rowIndex }) {
      if (rowIndex === 0) {
        return 'warning-row';
      } else if (rowIndex === 1) {
        return 'success-row';
      }
      return '';
    },

這樣,第一行就會(huì)使用warning-row類(lèi),而第二行會(huì)采用success-row類(lèi),我們編寫(xiě)類(lèi)樣式代碼如下:

<style>
.el-table .warning-row {
  background: wheat;
}
.el-table .success-row {
  background: #f0f9eb;
}
</style>

最終效果如下:

9. 固定表頭

如果表格行數(shù)較多,那么往下滾動(dòng)界面時(shí),會(huì)看不到表格的標(biāo)題,這無(wú)疑是體驗(yàn)不佳的。el-table只需要設(shè)定一個(gè)高度,就能固定表頭:

固定表頭
    <el-table :data="tableData" border height="120">
      <el-table-column prop="date" label="日期" width="180">
      </el-table-column>
      <el-table-column prop="name" label="姓名" width="180">
      </el-table-column>
      <el-table-column prop="address" label="地址">
      </el-table-column>
    </el-table>

效果如下:

10. 固定列

當(dāng)表格中列數(shù)過(guò)多時(shí),el-table會(huì)展示橫向滾動(dòng)條,但是有時(shí)候我們希望一些列,如操作按鈕所在的列,能夠固定住,此時(shí)可以使用fixed屬性:

固定列:
    <el-table :data="tableData" border>
      <el-table-column prop="date" label="日期" width="300">
      </el-table-column>
      <el-table-column prop="name" label="姓名" width="300">
      </el-table-column>
      <el-table-column prop="address" label="地址" width="300">
      </el-table-column>
      <el-table-column fixed="right" label="操作" width="100">
        <template slot-scope="scope">
          <el-button type="text" size="small">查看</el-button>
          <el-button type="text" size="small">編輯</el-button>
        </template>
      </el-table-column>
    </el-table>

效果如下:

11. 多級(jí)表頭

實(shí)際上多級(jí)表頭el-table的實(shí)現(xiàn)非常簡(jiǎn)單,直接在el-table-column內(nèi)部嵌套el-table-column即可。

數(shù)據(jù)部分:

 	  cityData: [{
        date: '2016-05-03',
        name: '王小虎',
        province: '上海',
        city: '普陀區(qū)',
        address: '上海市普陀區(qū)金沙江路 1518 弄',
        zip: 200333
      }]

表格組件:

多級(jí)表頭
    <el-table :data="cityData" border>
      <el-table-column prop="date" label="日期" width="150">
      </el-table-column>
      <el-table-column label="配送信息">
        <el-table-column prop="name" label="姓名" width="120">
        </el-table-column>
        <el-table-column label="地址">
          <el-table-column prop="province" label="省份" width="120">
          </el-table-column>
          <el-table-column prop="city" label="市區(qū)" width="120">
          </el-table-column>
          <el-table-column prop="address" label="地址" width="300">
          </el-table-column>
          <el-table-column prop="zip" label="郵編">
          </el-table-column>
        </el-table-column>
      </el-table-column>
    </el-table>

效果如下:

12. 展開(kāi)行

有時(shí)候如果信息特別多,我們可以設(shè)計(jì)點(diǎn)擊左側(cè)按鈕后,在當(dāng)前行下方展示詳細(xì)信息。

展開(kāi)行
    <el-table :data="tableData" border>
      <el-table-column type="expand">
        <template slot-scope="props">
          <el-form label-position="left">
            <el-form-item label="日期">
              <span>{{ props.row.date }}</span>
            </el-form-item>
            <el-form-item label="姓名">
              <span>{{ props.row.name }}</span>
            </el-form-item>
            <el-form-item label="地址">
              <span>{{ props.row.address }}</span>
            </el-form-item>
          </el-form>
        </template>
      </el-table-column>
      <el-table-column prop="date" label="日期" width="180">
      </el-table-column>
      <el-table-column prop="name" label="姓名">
      </el-table-column>
    </el-table>

注意,展開(kāi)行的類(lèi)型需要為expand,然后可以通過(guò)slot-scope指定的props來(lái)取出當(dāng)前行的數(shù)據(jù),按照我們想要的方式展現(xiàn)即可。如上代碼效果如下:

13. 自定義列模板

我們可以完全自定義列里面的顯示內(nèi)容:

 	自定義列模板
    <el-table :data="tableData" border>
      <el-table-column prop="date" label="日期" width="180">
        <template slot-scope="scope">
          {{scope.row.date.replaceAll('-','')}}
        </template>
      </el-table-column>
      <el-table-column prop="name" label="姓名" width="180">
      </el-table-column>
      <el-table-column prop="address" label="地址">
      </el-table-column>
      <el-table-column fixed="right" label="操作" width="150">
        <template slot-scope="scope">
          <el-button @click="btnView(scope.row)" type="primary" size="small">查看</el-button>
          <el-button type="danger" size="small">編輯</el-button>
        </template>
      </el-table-column>
    </el-table>

如上代碼中,我們通過(guò)在列中間添加如下內(nèi)容,template中間的內(nèi)容可以隨意定制,而且可以通過(guò)scope.row拿到當(dāng)前行的數(shù)據(jù)。

    	<template slot-scope="scope">
          {{scope.row.date.replaceAll('-','')}}
        </template>

效果如下:

14. 單選

通過(guò)添加highlight-current-row屬性即可開(kāi)啟單選功能,然后可以通過(guò)@current-change指定選中項(xiàng)發(fā)生變化時(shí)觸發(fā)的方法。

單選
    <el-table :data="tableData" border highlight-current-row @current-change="handleCurrentChange">
      <el-table-column prop="date" label="日期" width="180">
      </el-table-column>
      <el-table-column prop="name" label="姓名" width="180">
      </el-table-column>
      <el-table-column prop="address" label="地址">
      </el-table-column>
    </el-table>
 	handleCurrentChange(row) {
      console.log(row);
    },

效果如下:

15. 多選

可以通過(guò)添加type值為selection的列,來(lái)啟用多選功能,然后@selection-change可以指定選中項(xiàng)變化時(shí)觸發(fā)的方法。

多選(顯示復(fù)選框)
    <el-table :data="tableData" ref="multipleTable" border @selection-change="handleSelectionChange">
      <el-table-column type="selection" width="100">
      </el-table-column>
      <el-table-column prop="date" label="日期" width="180">
      </el-table-column>
      <el-table-column prop="name" label="姓名" width="180">
      </el-table-column>
      <el-table-column prop="address" label="地址">
      </el-table-column>
    </el-table>
    <div style="margin-top: 20px">
      <el-button @click="btnGetSelection()">獲取選中項(xiàng)</el-button>
    </div>

JS代碼如下:

handleSelectionChange(selection) {
      console.log(selection);
    },
    btnGetSelection() {
      let selection = this.$refs.multipleTable.selection;
      console.log(selection);
    }

上述代碼中,通過(guò)this.$refs.multipleTable.selection可以獲取到當(dāng)前所有選中項(xiàng)信息,便于提交時(shí)使用。

16. 前端排序

el-table還支持前端排序,我們直接看演示代碼:

前端排序
    <el-table :data="tableData" border :default-sort="{prop: 'date', order: 'descending'}">
      <el-table-column prop="date" label="日期" width="180">
      </el-table-column>
      <el-table-column prop="name" label="姓名" width="180">
      </el-table-column>
      <el-table-column prop="address" label="地址">
      </el-table-column>
    </el-table>

通過(guò)default-sort,指定了按date列排序,且是降序。所以效果如下:

17. 小結(jié)

el-table的功能還是相當(dāng)全面的,本篇按我自己的理解講解了一些經(jīng)常會(huì)用到的用法,供大家參考。

到此這篇關(guān)于Element el-table 表格詳解的文章就介紹到這了,更多相關(guān)Element el-table 表格內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 解決vue路由發(fā)生了跳轉(zhuǎn)但是界面沒(méi)有任何反應(yīng)問(wèn)題

    解決vue路由發(fā)生了跳轉(zhuǎn)但是界面沒(méi)有任何反應(yīng)問(wèn)題

    這篇文章主要介紹了解決vue路由發(fā)生了跳轉(zhuǎn)但是界面沒(méi)有任何反應(yīng)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • vue3封裝輪播圖組件的方法

    vue3封裝輪播圖組件的方法

    這篇文章主要為大家詳細(xì)介紹了vue3封裝輪播圖組件的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • 搭建vscode+vue環(huán)境的詳細(xì)教程

    搭建vscode+vue環(huán)境的詳細(xì)教程

    這篇文章主要介紹了搭建vscode+vue環(huán)境的詳細(xì)教程,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-08-08
  • 在vue中實(shí)現(xiàn)跨域方法小結(jié)

    在vue中實(shí)現(xiàn)跨域方法小結(jié)

    在Web開(kāi)發(fā)中,跨域問(wèn)題是一大挑戰(zhàn),跨域是指網(wǎng)絡(luò)請(qǐng)求從一個(gè)域名發(fā)起,而請(qǐng)求的目標(biāo)資源位于另一個(gè)不同的域名下,通常使用Vue CLI的代理來(lái)解決跨域問(wèn)題,而在生產(chǎn)環(huán)境中,可以通過(guò)后端配置CORS或使用Nginx反向代理,或者通過(guò)服務(wù)器中轉(zhuǎn)來(lái)解決跨域問(wèn)題
    2023-10-10
  • Vue+tsx使用slot沒(méi)有被替換的問(wèn)題

    Vue+tsx使用slot沒(méi)有被替換的問(wèn)題

    本文主要介紹了Vue+tsx使用slot沒(méi)有被替換的問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • vue中view-model雙向綁定基礎(chǔ)原理解析

    vue中view-model雙向綁定基礎(chǔ)原理解析

    這篇文章主要介紹了vue中view-model雙向綁定基礎(chǔ)原理,文中給大家介紹了vue雙向綁定的原理總結(jié),本文通過(guò)示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-10-10
  • 如何在 vue3 中使用高德地圖

    如何在 vue3 中使用高德地圖

    這篇文章主要介紹了如何在 vue3 中使用高德地圖,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2024-08-08
  • 關(guān)于Vue實(shí)例創(chuàng)建的整體流程

    關(guān)于Vue實(shí)例創(chuàng)建的整體流程

    這篇文章主要介紹了關(guān)于Vue實(shí)例創(chuàng)建的整體流程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • Vue.js中對(duì)css的操作(修改)具體方式詳解

    Vue.js中對(duì)css的操作(修改)具體方式詳解

    使用v-bind:class或者v-bind:style或者直接通過(guò)操作dom來(lái)對(duì)其樣式進(jìn)行更改;接下來(lái)通過(guò)本文給大家分享Vue.js中對(duì)css的操作(修改)具體方式,感興趣的朋友跟隨小編一起看看吧
    2018-10-10
  • 關(guān)于vue中媒體查詢(xún)不起效的原因總結(jié)

    關(guān)于vue中媒體查詢(xún)不起效的原因總結(jié)

    這篇文章主要介紹了關(guān)于vue中媒體查詢(xún)不起效的原因總結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-09-09

最新評(píng)論

开化县| 高雄市| 宁武县| 安顺市| 柞水县| 彭州市| 吕梁市| 澄城县| 乐清市| 佛教| 柯坪县| 福泉市| 四平市| 鄂托克前旗| 隆化县| 新宁县| 柯坪县| 虹口区| 黄冈市| 兴仁县| 黑山县| 集安市| 连云港市| 武功县| 昂仁县| 腾冲县| 河池市| 西林县| 进贤县| 安宁市| 正宁县| 澄江县| 隆昌县| 黄石市| 武宁县| 任丘市| 渭南市| 巴东县| 隆化县| 丰城市| 岱山县|