日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

vue 中使用 vxe-table 制作可編輯表格的使用過程

瀏覽:26日期:2023-12-12 15:11:13

項目上有一個表格需要實現在線編輯,開始用了 element 的el-table 實現,單元格內基礎情況就是監聽了單擊單元格切換一個span標簽與input標簽,復雜點的單元格使用了大量的條件判斷來實現對應的編輯操作,比如下拉選,popover彈框編輯。整個表格幾十列,十幾條數據就已經出現了明顯的卡頓,在做了諸多操作(比如el-input使用原生input替換、減少判斷、減少頻繁的數據切換等)之后,速度雖然有所提升,但是還是肉眼可見的卡頓,基本不可用。然后便轉戰vxe-table,重寫了一遍這個表格。 (別問我為什么不直接用更好的vxe-table,正經人寫代碼誰會首先想到重構而不是試試優化呢。。。)

下面記錄一下使用過程。

1. 全局安裝

npm install xe-utils@3 vxe-table@3

main.js 中引入

import ’xe-utils’;import VXETable from ’vxe-table’;import ’vxe-table/lib/style.css’;​Vue.use(VXETable);

其實它可以按需加載來減少項目體積,但是我覺得有點麻煩就沒弄,想要了解可以點擊下面鏈接查看~ vue-table 按需加載

2. 基礎用法

<template> <vxe-table : :data='tableData'><vxe-table-column type='seq' width='60'></vxe-table-column><vxe-table-column field='name'></vxe-table-column><vxe-table-column field='desc'></vxe-table-column><vxe-table-column field='link'></vxe-table-column> </vxe-table></template><script> export default {data () { return {allAlign: null,tableData: [ {name: 'html',desc: ’超文本標記語言’,link: ’https://www.runoob.com/html/html-tutorial.html’ }, {name: 'css',desc: ’層疊樣式表’,link: ’https://www.runoob.com/css/css-intro.html’ }, {name: 'js',desc: ’JavaScript’,link: ’https://www.runoob.com/js/js-tutorial.html’ }] }} }</script>

以上,即可實現一個基礎表格,但是現在僅僅是表格展示,實現編輯還需要另外的配置。

vue 中使用 vxe-table 制作可編輯表格的使用過程

3. 實現編輯

<template> <!--表格添加edit-config配置--> <vxe-table border :data='tableData' :edit-config='{trigger: ’click’, mode: ’cell’}'><!--對單元格vxe-table-column進行改造,使用edit-render來配置編輯屬性---><vxe-table-column fixed='left' field='desc' :edit-render='{name: ’input’, attrs: {type: ’text’}}'></vxe-table-column> </vxe-table></template>

vue 中使用 vxe-table 制作可編輯表格的使用過程

具體配置可以查看 api

3. 實現下拉選擇

<template> <vxe-table border :data='tableData' :edit-config='{trigger: ’click’, mode: ’cell’}'><!--和輸入框編輯區別僅在于edit-render的配置不同,data中新增選項selection---><vxe-table-column field='isShow' :edit-render='{name: ’select’, options: selection, optionProps: {value: ’status’, label: ’label’}}'></vxe-table-column> </vxe-table></template><script> export default {data () { return {allAlign: null,tableData: [ {name: 'html',desc: ’超文本標記語言’,link: ’https://www.runoob.com/html/html-tutorial.html’,isShow: 1 } // 省略一下多條數據········],selection: [ {status: 1, label: ’是’}, {status: 0, label: ’否’}] }} }</script>

vue 中使用 vxe-table 制作可編輯表格的使用過程

4. 自定義模板

vxe-table自定義模板是使用插槽實現的,可以使用<template #插槽名></template>實現,比如:

<vxe-table-column field='name' :edit-render='{name: ’input’, attrs: {type: ’text’}}'> <!--使用#header自定義表頭--> <template #header><span>名稱</span><span style='font-size: 12px; color: #ccc'>技術</span> </template> <!--使用#default自定義內容--> <template #default='{row}'><span>技術名稱</span><span>{{row.name}}</span> </template> <!--使用#edit自定義編輯--> <template #edit='{row}'><p>技術名稱</p><input type='text' v-model='row.name' class='vxe-default-input'> </template></vxe-table-column>

需要演示,所以把名稱列做成了可編輯列,使用#header、#default、#edit分別自定義了列頭、默認顯示內容、編輯顯示內容,如下圖:

vue 中使用 vxe-table 制作可編輯表格的使用過程

5. 實時保存功能

使用vxe-table的edit-closed方法監聽編輯框關閉,調用更新接口即可實現。

<template> <vxe-table border :data='tableData' :edit-config='{trigger: ’click’, mode: ’cell’}' @edit-closed='updateData'><vxe-table-column field='isShow' :edit-render='{name: ’select’, options: selection, optionProps: {value: ’status’, label: ’label’}}'></vxe-table-column> </vxe-table></template><script> export default {data () { // 省略掉···},methods: { updateData ({ row, column }) {// 后臺更新接口接受一條數據,所以傳row即可console.log(row); }} }</script>

其實官方方法還實現了檢查當前單元格內容是否更改,不過我們這里數據結構略復雜,源碼里的方法不太適用。 這里貼出來一下

editClosedEvent ({ row, column }) { const $table = this.$refs.xTable const field = column.property const cellValue = row[field] // 判斷單元格值是否被修改 if ($table.isUpdateByRow(row, field)) {setTimeout(() => { this.$XModal.message({content: `局部保存成功! ${field}=${cellValue}`,status: ’success’ }) // 局部更新單元格為已保存狀態 $table.reloadRow(row, null, field)}, 300) }}

以上即為實現可編輯表格的基本寫法,容我再研究一下如何檢測數據很深的情況下如何檢測數據是否發生改動。

總結一下,vxe-table的可編輯表格直接內置了可編輯的功能,配置即可用,避免了el-table的各種判斷切換,可以更優雅的實現編輯功能,另外它還支持虛擬滾動,在大量數據加載時可以有更好的性能。缺點就是在UI圖確定的情況下需要重寫表格樣式,挺費時間的。

建議各位如果遇到復雜表格的話,就不要自己想著優化性能了,直接使用vxe-table一步到位,后期徒增重構成本,血的教訓啊

到此這篇關于vue 中使用 vxe-table 制作可編輯表格的文章就介紹到這了,更多相關vue可編輯表格內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Vue
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
婷婷五月色综合香五月| 国产精品色网| 中文久久精品| 日韩不卡一区| 国产欧美88| 男女激情视频一区| 精品国产成人| 国产三级精品三级在线观看国产| 9国产精品视频| 香蕉久久精品| 国产精品成人国产| 亚洲香蕉视频| 国产精品日本| 久久国产日韩| 日韩精品dvd| 精品国产欧美| 国产精品久久亚洲不卡| 日韩有吗在线观看| 免费人成精品欧美精品| 91久久国产| 视频在线不卡免费观看| 久久99偷拍| 麻豆久久久久久| 国产美女视频一区二区| 91精品日本| 快she精品国产999| 亚洲色诱最新| 热久久免费视频| 丝袜美腿亚洲色图| 另类av一区二区| 国产亚洲精品v| 久久午夜精品一区二区| 欧美日韩一区二区综合| 久久精品卡一| 欧美福利在线| 亚洲欧美日韩精品一区二区| 亚洲欧美日韩国产一区| 亚洲精品1区| 国产午夜久久| 丝袜美腿亚洲色图| 91超碰国产精品| 欧美日韩国产综合网| 亚洲成人三区| 水野朝阳av一区二区三区| 久久国产精品毛片| 蜜臀av性久久久久蜜臀aⅴ流畅| 亚洲综合中文| 日韩中文字幕视频网| 国产欧美自拍| 欧美aⅴ一区二区三区视频| 久久久精品区| 午夜av成人| 亚洲激情中文| 四虎国产精品免费久久| 久久av日韩| 麻豆一区在线| 青青久久av| 亚洲精品国产偷自在线观看| 蜜臀av国产精品久久久久| 久久激情五月婷婷| 91偷拍一区二区三区精品| 特黄特色欧美大片| 视频一区二区三区入口| 人人爱人人干婷婷丁香亚洲| 国产精品一站二站| 国产一区二区三区四区大秀| 亚洲精品.com| 99视频精品| 欧美一区=区三区| 国产精品麻豆久久| 日韩精品欧美| 亚洲综合福利| 精品国产一级| 1024精品久久久久久久久| 亚洲精品一二三**| 欧美a在线观看| 欧美91福利在线观看| 亚洲精品极品| 国产 日韩 欧美 综合 一区| 久久视频国产| 日本不卡高清| bbw在线视频| 久久精品理论片| 不卡在线一区二区| 欧美一区在线观看视频| 久久99免费视频| 精品一区亚洲| 日韩精品一级二级| 成人一二三区| 中文无码日韩欧| 精品国产欧美日韩| 国产视频欧美| 精品三级国产| 国产精品日韩欧美一区| 日韩动漫一区| 欧美大黑bbbbbbbbb在线| 欧美一级一区| 五月天激情综合网| 久久伊人久久| 性色av一区二区怡红| 国产精品一国产精品| 亚洲a一区二区三区| 日韩国产欧美一区二区三区| 欧美日韩亚洲在线观看| 久久伊人亚洲| 国产精品久久| 国产精品一区毛片| 亚洲另类黄色| 亚洲欧美视频| 一区三区视频| 99国产精品99久久久久久粉嫩| 久久婷婷亚洲| 国产精品亚洲一区二区三区在线观看| 免费日韩成人| 国产欧美激情| 国产日韩亚洲| 在线精品观看| 亚洲精品影视| 日韩精品欧美成人高清一区二区| 中文字幕中文字幕精品| 久久大逼视频| 蜜臀av一区二区三区| 日韩在线一区二区| 亚洲一区二区三区无吗| 视频在线观看国产精品| 国产亚洲一级| 久久高清免费观看| 亚洲欧美视频一区二区三区| 亚洲一区日韩| 在线日韩成人| 欧美日韩亚洲一区| 欧美亚洲二区| 免费在线观看一区| 久久精品免视看国产成人| 欧美激情aⅴ一区二区三区| 精品黄色一级片| 首页国产精品| 国产精品字幕| 亚洲色诱最新| 亚洲理论在线| 日韩一区网站| 国产精品一区亚洲| 国产aa精品| 国产专区一区| 亚洲日韩视频| 国产精品白浆| 欧美日韩一区自拍| 国产精久久久| 日韩欧美综合| 99riav1国产精品视频| 日韩在线视频一区二区三区| 久久精品999| 国产精品成人a在线观看| 欧洲av不卡| 亚洲一区欧美二区| 7777精品| 国产精品久久久久av电视剧| 国产视频亚洲| 国产欧美在线观看免费| 中文字幕人成乱码在线观看| 国产99精品| 欧美日韩国产一区二区三区不卡| 一区二区国产在线| 国产精品极品| 久久视频精品| 亚洲精品黄色| 黄色精品视频| 国产国产精品| 国产日韩欧美三区| 啪啪国产精品| 日本国产亚洲| 日韩一区欧美| 亚洲一区二区av| 国产aa精品| 午夜在线一区| 精品久久久久中文字幕小说| 欧洲亚洲一区二区三区| 日本亚州欧洲精品不卡| 青青青免费在线视频| 在线看片一区| 成人在线免费观看91| 久久亚洲精品伦理| 精品国产精品国产偷麻豆| 国产毛片一区| 国产一区二区三区日韩精品| 六月婷婷一区| 桃色av一区二区| 天堂俺去俺来也www久久婷婷| 日韩1区在线| 亚洲天堂日韩在线| 日韩中文在线电影| 久久午夜影视| 激情久久99| 中文不卡在线| www.九色在线| 日韩av三区| 99国内精品| 91亚洲成人| 欧美日一区二区三区在线观看国产免 | 亚洲精品无播放器在线播放|