电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

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

vue element實現表格增加刪除修改數據

瀏覽:80日期:2022-09-29 14:42:21

本文實例為大家分享了vue element實現表格增加刪除修改數據的具體代碼,供大家參考,具體內容如下

這里用到是設置一個彈出框來實現此功能,還有一種方法是直接在原來的基礎上面進行修改

效果如下:

vue element實現表格增加刪除修改數據

表格的table:

<el-table :data='tableData' style='width: 100%'> <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-column label='操作'> <template slot-scope='scope'> <!-- 點擊編輯進入編輯頁面進行編輯表格數據 --> <el-button size='small' @click='handleEdit(scope.$index, scope.row)'>編輯</el-button> <el-button size='small' type='danger' @click='handleDelete(scope.$index, scope.row)'>刪除</el-button> </template> </el-table-column></el-table>

彈出框的設置:

<!-- 下面這個用來設置點擊添加按鈕的彈出框,里面可以進行嵌套表格來展示彈出的表格信息,使用下面的:visible.sync來控制顯示與否 --><!-- 里面綁定的是我們新設置的值,填寫完成后,將我們這個新值塞到頁面中所有的數據當中去 --><el-dialog :visible.sync='dialogFormVisible'> <!-- 在el-dialog中進行嵌套el-form實現彈出表格的效果 --> <el-form :model='form'> <el-form-item label='地址' :label-width='formLabelWidth'> <el-input v-model='form.address' auto-complete='off'></el-input> </el-form-item> <el-form-item label='姓名' :label-width='formLabelWidth'> <el-input v-model='form.name' auto-complete='off'></el-input> </el-form-item> <el-form-item label='日期' :label-width='formLabelWidth'> <el-date-pickerv-model='form.date'type='date'placeholder='選擇日期'value-format='yyyy-MM-dd' ></el-date-picker> </el-form-item> <el-form-item label='性別' :label-width='formLabelWidth'> <el-select v-model='form.region' placeholder='性別'><el-option label='男' value='男'></el-option><el-option label='女' value='女'></el-option> </el-select> </el-form-item> </el-form> <div slot='footer' class='dialog-footer'> <el-button @click='cancel'>取 消</el-button> <!-- 設置觸發更新的方法 --> <el-button type='primary' @click='update'>確 定</el-button> </div></el-dialog>

完整的代碼如下:

<template> <div v-loading='loading' element-loading-text='拼命加載中'> <!-- v-loading 設置加載 --> <div class='selectMenu'> <el-date-picker v-model='value6' type='daterange' placeholder='選擇日期范圍'></el-date-picker> <!-- 點擊觸發add方法 --> <el-button type='primary' @click='add'>新增</el-button> </div> <div class='tableMain'> <el-table :data='tableData' style='width: 100%'><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-column label='操作'> <template slot-scope='scope'> <!-- 點擊編輯進入編輯頁面進行編輯表格數據 --> <el-button size='small' @click='handleEdit(scope.$index, scope.row)'>編輯</el-button> <el-button size='small' type='danger' @click='handleDelete(scope.$index, scope.row)'>刪除</el-button> </template></el-table-column> </el-table> </div> <div class='page'> <el-pagination@size-change='handleSizeChange'@current-change='handleCurrentChange':current-page.sync='currentPage3':page-size='100'layout='prev, pager, next, jumper':total='1000' ></el-pagination> </div> <!-- 下面這個用來設置點擊添加按鈕的彈出框,里面可以進行嵌套表格來展示彈出的表格信息,使用下面的:visible.sync來控制顯示與否 --> <!-- 里面綁定的是我們新設置的值,填寫完成后,將我們這個新值塞到頁面中所有的數據當中去 --> <el-dialog :visible.sync='dialogFormVisible'> <!-- 在el-dialog中進行嵌套el-form實現彈出表格的效果 --> <el-form :model='form'><el-form-item label='地址' :label-width='formLabelWidth'> <el-input v-model='form.address' auto-complete='off'></el-input></el-form-item><el-form-item label='姓名' :label-width='formLabelWidth'> <el-input v-model='form.name' auto-complete='off'></el-input></el-form-item><el-form-item label='日期' :label-width='formLabelWidth'> <el-date-picker v-model='form.date' type='date' placeholder='選擇日期' value-format='yyyy-MM-dd' ></el-date-picker></el-form-item><el-form-item label='性別' :label-width='formLabelWidth'> <el-select v-model='form.region' placeholder='性別'> <el-option label='男' value='男'></el-option> <el-option label='女' value='女'></el-option> </el-select></el-form-item> </el-form> <div slot='footer' class='dialog-footer'><el-button @click='cancel'>取 消</el-button><!-- 設置觸發更新的方法 --><el-button type='primary' @click='update'>確 定</el-button> </div> </el-dialog> </div></template><script type='text/ecmascript-6'>export default { data() { return { loading: true, // 表格的數據 tableData: [{ date: '2017-05-01', name: '士兵76', region: '男', address: '國王大道', city: ''},{ date: '2017-05-02', name: '源氏', region: '男', address: '尼泊爾', city: ''},{ date: '2017-05-03', name: '黑百合', region: '女', address: '沃斯卡亞工業區', city: ''},{ date: '2017-05-04', name: '獵空', region: '女', address: '國王大道', city: ''},{ date: '2017-05-03', name: '查莉婭', region: '女', address: '沃斯卡亞工業區', city: ''},{ date: '2017-05-03', name: '禪雅塔', region: '男', address: '尼泊爾', city: ''},{ date: '2017-05-03', name: '半藏', region: '女', address: '花村', city: ''} ], // 城市選擇數據 cityList: [{ name: '國王大道' },{ name: '尼泊爾' },{ name: '沃斯卡亞工業區' },{ name: '花村' },{ name: '尼泊爾' },{ name: '月球基地' } ], dialogFormVisible: false, formLabelWidth: '80px', // 設置form用于進行添加的時候綁定值 form: {}, value6: '', currentPage3: 1, currentIndex: '' }; }, created() { // 設置回調函數,進行1.5秒的loading動畫顯示 setTimeout(() => { this.loading = false; }, 1500); }, methods: { showTime() { this.$alert(this.value6, '起止時間', {confirmButtonText: '確定',callback: action => { this.$message({ type: 'info', message: '已顯示' });} }); }, // 增加數據的方式,單獨的設置一些值,用于增加功能,這些值放在對象里面進行設置,然后將這個新增的對象塞到總數據里面 add() { this.form = {date: '',name: '',region: '',address: '' }; // 設置點擊按鈕之后進行顯示對話框 this.dialogFormVisible = true; }, update() { // this.form.date = reformat(this.form.date); // 可以在html上面進行設置日期的格式化 // 將我們添加的信息提交到總數據里面 this.tableData.push(this.form); this.dialogFormVisible = false; }, handleEdit(index, row) { // 將數據的index傳遞過來用于實現數據的回顯 this.form = this.tableData[index]; this.currentIndex = index; // 設置對話框的可見 this.dialogFormVisible = true; }, handleDelete(index, row) { // 設置類似于console類型的功能 this.$confirm('永久刪除該文件, 是否繼續?', '提示', {confirmButtonText: '確定',cancelButtonText: '取消',type: 'warning' }).then(() => { // 移除對應索引位置的數據,可以對row進行設置向后臺請求刪除數據 this.tableData.splice(index, 1); this.$message({ type: 'success', message: '刪除成功!' });}).catch(() => { this.$message({ type: 'info', message: '已取消刪除' });}); }, cancel() { // 取消的時候直接設置對話框不可見即可 this.dialogFormVisible = false; }, handleSizeChange(val) { console.log(`每頁 ${val} 條`); }, handleCurrentChange(val) { console.log(`當前頁: ${val}`); } }};</script><style lang='scss'>.basetable { .tableMain { margin: { top: 10px; } } .page { float: left; margin: { top: 10px; } }}</style>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Vue
相關文章:
主站蜘蛛池模板: 医疗仪器模块 健康一体机 多参数监护仪 智慧医疗仪器方案定制 血氧监护 心电监护 -朗锐慧康 | 扬州汇丰仪表有限公司| 世界箱包品牌十大排名,女包小众轻奢品牌推荐200元左右,男包十大奢侈品牌排行榜双肩,学生拉杆箱什么品牌好质量好 - Gouwu3.com | 中开泵,中开泵厂家,双吸中开泵-山东博二泵业有限公司 | 高楼航空障碍灯厂家哪家好_航空障碍灯厂家_广州北斗星障碍灯有限公司 | 专业的新乡振动筛厂家-振动筛品质保障-环保振动筛价格—新乡市德科筛分机械有限公司 | 合肥汽车充电桩_安徽充电桩_电动交流充电桩厂家_安徽科帝新能源科技有限公司 | 字典-新华字典-在线字典查字-字典趣 | 婚博会2024时间表_婚博会门票领取_婚博会地址-婚博会官网 | 铝箔袋,铝箔袋厂家,东莞铝箔袋,防静电铝箔袋,防静电屏蔽袋,防静电真空袋,真空袋-东莞铭晋让您的产品与众不同 | 上海办公室装修公司_办公室设计_直营办公装修-羚志悦装 | 大倾角皮带机-皮带输送机-螺旋输送机-矿用皮带输送机价格厂家-河南坤威机械 | 空气能采暖,热泵烘干机,空气源热水机组|设备|厂家,东莞高温热泵_正旭新能源 | 威实软件_软件定制开发_OA_OA办公系统_OA系统_办公自动化软件 | 内六角扳手「厂家」-温州市威豪五金工具有限公司 | 齿式联轴器-弹性联轴器-联轴器厂家-江苏诺兴传动联轴器制造有限公司 | 广东护栏厂家-广州护栏网厂家-广东省安麦斯交通设施有限公司 | 合肥仿石砖_合肥pc砖厂家_合肥PC仿石砖_安徽旭坤建材有限公司 | CTP磁天平|小电容测量仪|阴阳极极化_双液系沸点测定仪|dsj电渗实验装置-南京桑力电子设备厂 | 光谱仪_积分球_分布光度计_灯具检测生产厂家_杭州松朗光电【官网】 | 电动球阀_不锈钢电动球阀_电动三通球阀_电动调节球阀_上海湖泉阀门有限公司 | 注塑模具_塑料模具_塑胶模具_范仕达【官网】_东莞模具设计与制造加工厂家 | 【365公司转让网】公司求购|转让|资质买卖_股权转让交易平台 | 纯水设备_苏州皙全超纯水设备水处理设备生产厂家 | 标准品网_标准品信息网_【中检计量】| 浙江宝泉阀门有限公司 | 华溶溶出仪-Memmert稳定箱-上海协烁仪器科技有限公司 | 阳光模拟试验箱_高低温试验箱_高低温冲击试验箱_快速温变试验箱|东莞市赛思检测设备有限公司 | 冷却塔减速机器_冷却塔皮带箱维修厂家_凉水塔风机电机更换-广东康明冷却塔厂家 | 考勤系统_人事考勤管理系统_本地部署BS考勤系统_考勤软件_天时考勤管理专家 | 根系分析仪,大米外观品质检测仪,考种仪,藻类鉴定计数仪,叶面积仪,菌落计数仪,抑菌圈测量仪,抗生素效价测定仪,植物表型仪,冠层分析仪-杭州万深检测仪器网 | DNA亲子鉴定_DNA基因检测中心官方预约平台-严选好基因网 | 金属管浮子流量计_金属转子流量计厂家-淮安润中仪表科技有限公司 | 电磁铁_小型推拉电磁铁_电磁阀厂家-深圳市宗泰电机有限公司 | 搜木网 - 木业全产业链交易平台,免费搜货、低价买货! | 报警器_家用防盗报警器_烟雾报警器_燃气报警器_防盗报警系统厂家-深圳市刻锐智能科技有限公司 | 大型工业风扇_工业大风扇_大吊扇_厂房车间降温-合昌大风扇 | 无味渗透剂,泡沫抑尘剂,烷基糖苷-威海威能化工有限公司 | 吸音板,隔音板,吸音材料,吸音板价格,声学材料 - 佛山诺声吸音板厂家 | 太阳能发电系统-太阳能逆变器,控制器-河北沐天太阳能科技首页 | 恒温恒湿试验箱厂家-高低温试验箱维修价格_东莞环仪仪器_东莞环仪仪器 |