Vue+ElementUI 搭建后臺(tái)管理系統(tǒng)(實(shí)戰(zhàn)系列六)

前言

使用ElementUI已經(jīng)有一段時(shí)間了,在一邊上手開發(fā)后臺(tái)管理系統(tǒng)的同事,也記錄了一些筆記,一直都沒(méi)有時(shí)間將這些零零散散的筆記總結(jié)起來(lái)斑鸦,整理成一個(gè)比較系統(tǒng)詳細(xì)一點(diǎn)的教程,可以留著以后來(lái)看草雕。

關(guān)于開發(fā)過(guò)程中巷屿,確實(shí)使用到很大一部分的文檔,都說(shuō)前端開發(fā)離不開文檔墩虹,重要的話說(shuō)三遍嘱巾,一定要多看文檔。

管理后臺(tái)解決方案

vue-element-admin 是一個(gè)后臺(tái)前端解決方案诫钓,它基于 vue 和 element-ui實(shí)現(xiàn)旬昭。

Star指數(shù):69.7k
Github 地址:https://github.com/PanJiaChen/vue-element-admin
Demo體驗(yàn):https://panjiachen.github.io/vue-element-admin/#/dashboard
官方文檔:https://panjiachen.github.io/vue-element-admin-site/zh/

使用建議
本項(xiàng)目的定位是后臺(tái)集成方案,不太適合當(dāng)基礎(chǔ)模板來(lái)進(jìn)行二次開發(fā)菌湃。因?yàn)楸卷?xiàng)目集成了很多你可能用不到的功能问拘,會(huì)造成不少的代碼冗余。如果你的項(xiàng)目不關(guān)注這方面的問(wèn)題慢味,也可以直接基于它進(jìn)行二次開發(fā)场梆。


Vue+ElementUI 搭建后臺(tái)管理系統(tǒng)(實(shí)戰(zhàn)系列六) - 表格分頁(yè)

前面有提到在vue里面,對(duì)于表格的使用:vue2.0 + element-ui 實(shí)戰(zhàn)項(xiàng)目-渲染表格系列文章纯路,在實(shí)戰(zhàn)的過(guò)程中或油,往往還要選擇一個(gè)合適的分頁(yè),搭配著一起使用驰唬,尤其是數(shù)據(jù)比較多的時(shí)候顶岸,必然會(huì)做出分頁(yè)效果。

關(guān)于一些經(jīng)常用到的參考文檔:這里都羅列一下,查找起來(lái)比較方便叫编。

1:在組件里面找一個(gè)自己比較喜歡的分頁(yè)的樣式
https://element.eleme.cn/#/zh-CN/component/pagination

其實(shí)我們可以看到辖佣,文檔里面的樣式非常的簡(jiǎn)單
復(fù)制一下這段代碼

<el-pagination
  background
  layout="prev, pager, next"
  :total="1000">
</el-pagination>

就可以在頁(yè)面上看到一個(gè)靜態(tài)的分頁(yè)的效果了

2:最重要的一個(gè)步驟就是點(diǎn)擊分頁(yè)的辦法

  // 初始頁(yè)currentPage、初始每頁(yè)數(shù)據(jù)數(shù)pagesize和數(shù)據(jù)data
    handleSizeChange: function (size) {
      this.pagesize = size;
      console.log(this.pagesize); //每頁(yè)下拉顯示數(shù)據(jù)
    },
    handleCurrentChange: function (currentPage) {
      this.currentPage = currentPage;
      console.log(this.currentPage); //點(diǎn)擊第幾頁(yè)
    },

3:對(duì)表格中獲取到的json數(shù)據(jù)進(jìn)行處理

:data="pvData.slice((currentPage - 1) * pagesize, currentPage * pagesize)"

4:將前面的靜態(tài)分頁(yè)也進(jìn)行修改一下搓逾,加上方法和變量

 <el-pagination
      style="margin: 12px 0px"
      background
      @size-change="handleSizeChange"
      @current-change="handleCurrentChange"
      :current-page="currentPage"
      :page-sizes="[5, 10, 20, 40]"
      :page-size="pagesize"
      layout="total, sizes, prev, pager, next, jumper"
      :total="pvData.length"
    >
    </el-pagination>

5:寫一個(gè)完整的實(shí)例:

json

{"msg":"success","total":0,"code":1,"data":[{"id":6,"userOrganId":null,"userName":"super","sex":1,"realName":"super","birthday":null,"password":"202cb962ac59075b964b07152d234b70","roleId":1,"roleName":"角色1","organId":1,"organName":"部門1","authority":0,"companyId":1,"phone":null,"organIds":null,"isPagination":false,"page":1,"rows":1},{"id":13,"userOrganId":null,"userName":"super2","sex":1,"realName":"super","birthday":null,"password":"202cb962ac59075b964b07152d234b70","roleId":1,"roleName":"角色1","organId":1,"organName":"部門1","authority":0,"companyId":1,"phone":null,"organIds":null,"isPagination":false,"page":1,"rows":1},{"id":14,"userOrganId":null,"userName":"999","sex":1,"realName":"999","birthday":null,"password":"d41d8cd98f00b204e9800998ecf8427e","roleId":1,"roleName":"1","organId":1,"organName":"1","authority":1,"companyId":1,"phone":null,"organIds":null,"isPagination":false,"page":1,"rows":1},{"id":27,"userOrganId":null,"userName":"21","sex":null,"realName":"21","birthday":null,"password":"d41d8cd98f00b204e9800998ecf8427e","roleId":1,"roleName":"","organId":1,"organName":"","authority":1,"companyId":1,"phone":null,"organIds":null,"isPagination":false,"page":1,"rows":1},{"id":28,"userOrganId":null,"userName":"111","sex":1,"realName":"111","birthday":null,"password":"202cb962ac59075b964b07152d234b70","roleId":1,"roleName":"1","organId":1,"organName":"14","authority":1,"companyId":1,"phone":null,"organIds":null,"isPagination":false,"page":1,"rows":1},{"id":29,"userOrganId":null,"userName":"212","sex":0,"realName":"121","birthday":null,"password":"d41d8cd98f00b204e9800998ecf8427e","roleId":1,"roleName":"1","organId":1,"organName":"13","authority":1,"companyId":1,"phone":null,"organIds":null,"isPagination":false,"page":1,"rows":1}]}

實(shí)例代碼

<template>
  <div class="tab-container">
    <el-table
      :data="pvData.slice((currentPage - 1) * pagesize, currentPage * pagesize)"
      border
      fit
      highlight-current-row
      style="width: 100%"
    >
      <el-table-column
        prop="userName"
        label="用戶名"
        width="180"
      ></el-table-column>

      <el-table-column prop="realName" label="姓名"></el-table-column>
      <el-table-column prop="sex" label="性別"  :formatter="formatSex"></el-table-column>
      <el-table-column prop="organName" label="所屬部門"></el-table-column>
      <el-table-column prop="authority" label="權(quán)限"></el-table-column>
      <el-table-column prop="roleName" label="角色"></el-table-column>

    </el-table>

    <el-pagination
      style="margin: 12px 0px"
      background
      @size-change="handleSizeChange"
      @current-change="handleCurrentChange"
      :current-page="currentPage"
      :page-sizes="[5, 10, 20, 40]"
      :page-size="pagesize"
      layout="total, sizes, prev, pager, next, jumper"
      :total="pvData.length"
    >
    </el-pagination>

  </div>
</template>
<script>
//調(diào)用接口
import {getQuerycheckList} from "@/api/permission/user";

export default {
  data() {
    return {
      // 分頁(yè)
      currentPage: 1, //初始頁(yè)
      pagesize: 5, //    每頁(yè)的數(shù)據(jù)
      total: 0,
      pvData: [],

    };
  },

  created() {
    this.getQuerycheckList();
  },
  methods: {
    // 初始頁(yè)currentPage卷谈、初始每頁(yè)數(shù)據(jù)數(shù)pagesize和數(shù)據(jù)data
    handleSizeChange: function (size) {
      this.pagesize = size;
      console.log(this.pagesize); //每頁(yè)下拉顯示數(shù)據(jù)
    },
    handleCurrentChange: function (currentPage) {
      this.currentPage = currentPage;
      console.log(this.currentPage); //點(diǎn)擊第幾頁(yè)
    },

    //查詢題目列表信息接口
    getQuerycheckList() {
      const params = {
        organId: 1,
        userOrganId: 1,
        authority: 0,
        page: 1,
        rows: 5,
        isPagination: false,
      };
      getQuerycheckList(params).then((res) => {
        console.log("查詢題目列表信息", res);
        this.pvData = res.data;
      });
    },
    //格式化性別
    formatSex(row, column) {
    return row.sex === 1? "男" : "女";
    }
  },
};
</script>
<style scoped>
.tab-container {
  margin: 30px;
}
</style>

效果:

image
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市霞篡,隨后出現(xiàn)的幾起案子世蔗,更是在濱河造成了極大的恐慌,老刑警劉巖朗兵,帶你破解...
    沈念sama閱讀 211,376評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件污淋,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡余掖,警方通過(guò)查閱死者的電腦和手機(jī)寸爆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,126評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人赁豆,你說(shuō)我怎么就攤上這事仅醇。” “怎么了歌憨?”我有些...
    開封第一講書人閱讀 156,966評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵着憨,是天一觀的道長(zhǎng)墩衙。 經(jīng)常有香客問(wèn)我务嫡,道長(zhǎng),這世上最難降的妖魔是什么漆改? 我笑而不...
    開封第一講書人閱讀 56,432評(píng)論 1 283
  • 正文 為了忘掉前任心铃,我火速辦了婚禮,結(jié)果婚禮上挫剑,老公的妹妹穿的比我還像新娘去扣。我一直安慰自己,他們只是感情好樊破,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,519評(píng)論 6 385
  • 文/花漫 我一把揭開白布愉棱。 她就那樣靜靜地躺著,像睡著了一般哲戚。 火紅的嫁衣襯著肌膚如雪奔滑。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,792評(píng)論 1 290
  • 那天顺少,我揣著相機(jī)與錄音朋其,去河邊找鬼。 笑死脆炎,一個(gè)胖子當(dāng)著我的面吹牛梅猿,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播秒裕,決...
    沈念sama閱讀 38,933評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼袱蚓,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了几蜻?” 一聲冷哼從身側(cè)響起喇潘,我...
    開封第一講書人閱讀 37,701評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎入蛆,沒(méi)想到半個(gè)月后响蓉,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,143評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡哨毁,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,488評(píng)論 2 327
  • 正文 我和宋清朗相戀三年枫甲,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,626評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡想幻,死狀恐怖粱栖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情脏毯,我是刑警寧澤闹究,帶...
    沈念sama閱讀 34,292評(píng)論 4 329
  • 正文 年R本政府宣布,位于F島的核電站食店,受9級(jí)特大地震影響渣淤,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜吉嫩,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,896評(píng)論 3 313
  • 文/蒙蒙 一价认、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧自娩,春花似錦用踩、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,742評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至姊扔,卻和暖如春惠奸,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背旱眯。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工晨川, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人删豺。 一個(gè)月前我還...
    沈念sama閱讀 46,324評(píng)論 2 360
  • 正文 我出身青樓共虑,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親呀页。 傳聞我的和親對(duì)象是個(gè)殘疾皇子妈拌,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,494評(píng)論 2 348