vue-easytable demo

介紹

vue-easytable是一個基于vue的可編輯表格開源組件哪自,功能強大毕贼,文檔完善翎迁。
github地址:https://github.com/huangshuwei/vue-easytable
文檔地址:http://doc.huangsw.com/vue-easytable/app.html#/intro

使用指導(dǎo)

  1. 創(chuàng)建vue工程:vue init webpack vue-easytable-demo
  2. 下載vue-easytable
    npm install vue-easytable --save-dev
  3. 在main.js中全局引入
import 'vue-easytable/libs/themes-base/index.css'
import {VTable, VPagination} from 'vue-easytable'

Vue.component(VTable.name, VTable)
Vue.component(VPagination.name, VPagination)
  1. 創(chuàng)建測試數(shù)據(jù)
    先在src下創(chuàng)建mock文件夾滨砍,在下面創(chuàng)建文件tableData.js
export default [
  { 'id': '1', 'name': '小紅', 'age': '12', 'height': '112', 'sex': '女', 'score': '100' },
  { 'id': '2', 'name': '小麗', 'age': '12', 'height': '116', 'sex': '女', 'score': '99' },
  { 'id': '3', 'name': '小芳', 'age': '12', 'height': '113', 'sex': '女', 'score': '98' },
  { 'id': '4', 'name': '小華', 'age': '12', 'height': '130', 'sex': '男', 'score': '96' },
  { 'id': '5', 'name': '小聰', 'age': '12', 'height': '120', 'sex': '男', 'score': '93' },
  { 'id': '6', 'name': '小胖', 'age': '12', 'height': '118', 'sex': '男', 'score': '86' },
  { 'id': '7', 'name': '小明', 'age': '12', 'height': '121', 'sex': '男', 'score': '59' },
  { 'id': '8', 'name': '小飛', 'age': '12', 'height': '125', 'sex': '男', 'score': '92' },
  { 'id': '9', 'name': '小環(huán)', 'age': '12', 'height': '120', 'sex': '女', 'score': '93' },
  { 'id': '10', 'name': '小義', 'age': '12', 'height': '116', 'sex': '男', 'score': '79' },

  { 'id': '11', 'name': '小白', 'age': '12', 'height': '116', 'sex': '男', 'score': '81' },
  { 'id': '12', 'name': '小黑', 'age': '12', 'height': '118', 'sex': '男', 'score': '88' },
  { 'id': '13', 'name': '小海', 'age': '12', 'height': '125', 'sex': '男', 'score': '83' },
  { 'id': '14', 'name': '小金', 'age': '12', 'height': '129', 'sex': '男', 'score': '82' },
  { 'id': '15', 'name': '小路', 'age': '12', 'height': '127', 'sex': '女', 'score': '72' },
  { 'id': '16', 'name': '小龍', 'age': '12', 'height': '125', 'sex': '男', 'score': '96' },
  { 'id': '17', 'name': '小藍', 'age': '12', 'height': '118', 'sex': '女', 'score': '93' },
  { 'id': '18', 'name': '小蘭', 'age': '12', 'height': '124', 'sex': '女', 'score': '71' },
  { 'id': '19', 'name': '小高', 'age': '12', 'height': '116', 'sex': '女', 'score': '79' },
  { 'id': '20', 'name': '小國', 'age': '12', 'height': '130', 'sex': '男', 'score': '68' }
]
  1. 創(chuàng)建展示文件TablePage.vue(放置在conponents目錄下)
<template>
  <div class="tablePage">
    <h1>表格+分頁</h1>
    <!-- 表格-->
    <v-table
      :columns="tableConfig.columns"
      :table-data="tableConfig.tableData"
      :paging-index="(pageIndex-1)*pageSize"
    ></v-table>
    <!-- 分頁-->
    <v-pagination
      @page-change="pageChange"
      @page-size-change="pageSizeChange"
      :total="total"
      :page-size="pageSize"
      :layout="['total', 'prev', 'pager', 'next', 'sizer', 'jumper']"
    ></v-pagination>
  </div>
</template>
<script>
import tableDate from '../mock/tableData.js'
export default {
  data () {
    return {
      pageIndex: 1,
      pageSize: 10,
      total: '',
      tableConfig: {
        tableData: [],
        columns: [
          {
            field: 'id',
            title: '編號',
            width: 50,
            columnAlign: 'center'
          },
          {
            field: 'name',
            title: '姓名',
            width: 120,
            columnAlign: 'center'
          },
          {
            field: 'age',
            title: '年齡',
            width: 50,
            columnAlign: 'center'
          },

          {
            field: 'height',
            title: '身高',
            width: 100,
            columnAlign: 'left'
          },
          {
            field: 'sex',
            title: '性別',
            width: 50,
            columnAlign: 'center'
          },
          {
            field: 'score',
            title: '成績',
            width: 80,
            columnAlign: 'center'
          }
        ]
      }
    }
  },
  created () {
    this.getTableData()
  },
  methods: {
    getTableData () {
      this.tableConfig.tableData = tableDate.slice(
        (this.pageIndex - 1) * this.pageSize,
        this.pageIndex * this.pageSize
      )
      this.total = tableDate.length
    },
    pageChange (pageIndex) {
      this.pageIndex = pageIndex
      this.getTableData()
      console.log(pageIndex)
    },
    pageSizeChange (pageSize) {
      this.pageIndex = 1
      this.pageSize = pageSize
      this.getTableData()
    }
  }
}
</script>

  1. 運行:npm run dev
  2. 效果圖(界面訪問http://localhost:8080/#/):
  3. 打包(用于發(fā)布):npm run build
    生成文件在根目錄下的dist目錄下忌卤。
  4. demo源代碼
    https://gitee.com/cxyzy1/vue-easytable

附錄

  1. vue-easytable源代碼:https://github.com/huangshuwei/vue-easytable
  2. vue進階之vue-easytable實現(xiàn)前端的表格+分頁 https://blog.csdn.net/youyanh/article/details/81501971
  3. 使用嚴(yán)格模式eslint時,報錯Missing space before function parentheses的問題 http://www.reibang.com/p/2f5cded8a2d3
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末谱邪,一起剝皮案震驚了整個濱河市炮捧,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌惦银,老刑警劉巖咆课,帶你破解...
    沈念sama閱讀 218,755評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件末誓,死亡現(xiàn)場離奇詭異,居然都是意外死亡书蚪,警方通過查閱死者的電腦和手機喇澡,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來殊校,“玉大人晴玖,你說我怎么就攤上這事∥鳎” “怎么了呕屎?”我有些...
    開封第一講書人閱讀 165,138評論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長艺谆。 經(jīng)常有香客問我榨惰,道長,這世上最難降的妖魔是什么静汤? 我笑而不...
    開封第一講書人閱讀 58,791評論 1 295
  • 正文 為了忘掉前任琅催,我火速辦了婚禮,結(jié)果婚禮上虫给,老公的妹妹穿的比我還像新娘藤抡。我一直安慰自己,他們只是感情好抹估,可當(dāng)我...
    茶點故事閱讀 67,794評論 6 392
  • 文/花漫 我一把揭開白布缠黍。 她就那樣靜靜地躺著,像睡著了一般药蜻。 火紅的嫁衣襯著肌膚如雪瓷式。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,631評論 1 305
  • 那天语泽,我揣著相機與錄音贸典,去河邊找鬼。 笑死踱卵,一個胖子當(dāng)著我的面吹牛廊驼,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播惋砂,決...
    沈念sama閱讀 40,362評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼妒挎,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了西饵?” 一聲冷哼從身側(cè)響起酝掩,我...
    開封第一講書人閱讀 39,264評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎眷柔,沒想到半個月后庸队,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體积蜻,經(jīng)...
    沈念sama閱讀 45,724評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡闯割,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年彻消,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片宙拉。...
    茶點故事閱讀 40,040評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡宾尚,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出谢澈,到底是詐尸還是另有隱情煌贴,我是刑警寧澤,帶...
    沈念sama閱讀 35,742評論 5 346
  • 正文 年R本政府宣布锥忿,位于F島的核電站牛郑,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏敬鬓。R本人自食惡果不足惜淹朋,卻給世界環(huán)境...
    茶點故事閱讀 41,364評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望钉答。 院中可真熱鬧础芍,春花似錦、人聲如沸数尿。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽右蹦。三九已至诊杆,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間何陆,已是汗流浹背晨汹。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留甲献,地道東北人宰缤。 一個月前我還...
    沈念sama閱讀 48,247評論 3 371
  • 正文 我出身青樓,卻偏偏與公主長得像晃洒,于是被迫代替她去往敵國和親慨灭。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,979評論 2 355

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

  • 本文基于工作項目開發(fā)球及,做的整理筆記因工作需要氧骤,項目框架由最初的Java/jsp模式,逐漸轉(zhuǎn)移成node/expre...
    SeasonDe閱讀 7,447評論 3 35
  • ## 框架和庫的區(qū)別?> 框架(framework):一套完整的軟件設(shè)計架構(gòu)和**解決方案**吃引。> > 庫(lib...
    Rui_bdad閱讀 2,910評論 1 4
  • Vue是近兩年來比較火的一個前端框架(漸進式框架吧)筹陵,與reactjs和angularjs三國鼎立刽锤,我不是職業(yè)前端...
    玄木閱讀 272,768評論 70 259
  • 從小老師就教育我們要學(xué)雷鋒并思,做好人。 于是生活中就有了那么一群人语稠,舔著臉滿世界要求別人做雷鋒宋彼。不管熟不熟,不管別人...
    盛慧閱讀 1,160評論 1 6
  • 親愛的: 我也不知仙畦,何時會再遇見你输涕。 清晨, 你捎信來慨畸, 說寒風(fēng)穿梭在窗檐莱坎, 小河里的清流還沒醒, 我坐在公交車上...
    PuppyMe閱讀 218評論 0 0