1.表格动态添加,也可删除
<template> <div class="TestWord"> <el-button @click="addLine">添加行数</el-button> <el-button @click="save">保存</el-button> <el-table :data="tableData" style="width: 100%"> <el-table-column prop="bookname" label="书名"> <template slot-scope="scope"> <el-input v-model="scope.row.bookname" placeholder="书名"></el-input> </template> </el-table-column> <el-table-column prop="bookvolume" label="册数"> <template slot-scope="scope"> <el-input v-model="scope.row.bookvolume" placeholder="册数"></el-input> </template> </el-table-column> <el-table-column prop="bookbuyer" label="购买者"> <template slot-scope="scope"> <el-input v-model="scope.row.bookbuyer" placeholder="购买者"></el-input> </template> </el-table-column> <el-table-column prop="bookborrower" label="借阅者"> <template slot-scope="scope"> <el-input v-model="scope.row.bookborrower" placeholder="借阅者"></el-input> </template> </el-table-column> <el-table-column prop="bookbuytime" label="购买日期"> <template slot-scope="scope"> <el-date-picker v-model="scope.row.bookbuytime" type="date" format="yyyy-MM-dd" value-format="yyyy-MM-dd" placeholder="购买日期"> </el-date-picker> </template> </el-table-column> <el-table-column prop="bookbuytime" label="购买日期"> <template slot-scope="scope"> <el-button size="mini" type="danger" v-if="!scope.row.editing" icon="el-icon-delete" @click="handleDelete(scope.$index, scope.row)">删除 </el-button> </template> </el-table-column> </el-table> </div> </template>
vuejs 代码
export default { name:'TestWorld', data() { return { tableData:[{ bookname: '', bookbuytime: '', bookbuyer: '', bookborrower: '', bookvolume:'' }] } }, methods:{ addLine(){ //添加行数 var newValue = { bookname: '', bookbuytime: '', bookbuyer: '', bookborrower: '', bookvolume:'' }; //添加新的行数 this.tableData.push(newValue); }, handleDelete(index){ //删除行数 this.tableData.splice(index, 1) }, save(){ //这部分应该是保存提交你添加的内容 console.log(JSON.stringify(this.tableData)) } } }
运行图片
2.编辑表格 (即使input已经修改过,当点击取消时,内容不会变)
<template> <div class="TestWorld"> <el-button @click="savemodify">保存</el-button> <el-table :data="modifyData" style="width: 100%"> <el-table-column prop="bookname" label="书名"> <template slot-scope="scope"> <template v-if="scope.row.editing"> <el-input class="edit-input" v-model="scope.row.bookname" placeholder="书名"></el-input> </template> <span v-else>{{ scope.row.bookname }}</span> </template> </el-table-column> <el-table-column prop="bookvolume" label="册数"> <template slot-scope="scope"> <template v-if="scope.row.editing"> <el-input class="edit-input" v-model="scope.row.bookvolume" placeholder="册数"></el-input> </template> <span v-else>{{ scope.row.bookvolume}}</span> </template> </el-table-column> <el-table-column prop="bookbuyer" label="购买者"> <template slot-scope="scope"> <template v-if="scope.row.editing"> <el-input class="edit-input" v-model="scope.row.bookbuyer" placeholder="购买者"></el-input> </template> <span v-else>{{scope.row.bookbuyer}}</span> </template> </el-table-column> <el-table-column prop="bookborrower" label="借阅者"> <template slot-scope="scope"> <template v-if="scope.row.editing"> <el-input class="edit-input" v-model="scope.row.bookborrower" placeholder="借阅者"></el-input> </template> <span v-else>{{scope.row.bookborrower}}</span> </template> </el-table-column> <el-table-column prop="bookbuytime" label="购买日期"> <template slot-scope="scope"> <template v-if="scope.row.editing"> <el-date-picker v-model="scope.row.bookbuytime" type="date" value-format="yyyy-MM-dd" placeholder="购买日期"> </el-date-picker> </template> <span v-else>{{scope.row.bookbuytime}}</span> </template> </el-table-column> <el-table-column prop="editing" label="操作"> <template slot-scope="scope"> <el-button type="danger" v-if="!scope.row.editing" icon="el-icon-delete" v-model="scope.$index" @click="handleEdit(scope.$index, scope.row)">编辑 </el-button> <el-button v-else type="danger" icon="el-icon-delete" v-model="scope.$index" @click="handleCancle(scope.$index, scope.row)">取消 </el-button> </template> </el-table-column> </el-table> </div> </template>
vuejs 代码
export default { name:'TestWorld', data() { return { modifyData:[], prevValue:{} } }, mounted(){ this.getData() }, methods:{ getData(){ this.$ajax({ method: 'get', url:'../static/json/1.1.1.json', //<---本地地址 //url: '/api/drummer/8bd17859', }).then((response)=>{ console.log(JSON.stringify(response.data)) let _data = response.data; let datalength = _data.length; for(let i = 0;i < datalength; i++){ this.$set(_data[i], 'editing', false) } //赋值 this.modifyData = _data; }).catch(function(err){ console.log(err) }) }, handleEdit(index,row){ row.editing = true; console.log(index) this.prevValue = JSON.parse(JSON.stringify(row)); }, handleCancle(index,row){ row.editing = false; let prevContent = this.prevValue.bookname; this.$set(row,"bookname",prevContent); }, savemodify(){ console.log(JSON.stringify(this.modifyData)) } } }
本地的1.1.1.JSON数据
[{"bookname":"普通高等教育物联网工程专业规划用书:物联网技术概论","bookbuytime": "2016-05-04","bookbuyer": "李晓月","bookborrower": "王小虎","bookvolume":"1"},{"bookname":"区块链革命:比特币底层技术如何改变货币、商业和世界","bookbuytime": "2016-05-04","bookbuyer": "李晓月","bookborrower": "李小虎","bookvolume":"1"},{"bookname":"大家一起学配色:数学色彩设计全能书","bookbuytime": "2017-12-04","bookbuyer": "张晓月","bookborrower": "王而虎","bookvolume":"1"}]
如果不用get本地数据,vuejs如下
export default { name:'TestWorld', data() { return { modifyData:[ { bookname: '普通高等教育物联网工程专业规划用书:物联网技术概论', bookbuytime: '2016-05-04', bookbuyer: '李晓月', bookborrower: '王小虎', bookvolume: '1', editing: false }, { bookname: '区块链革命:比特币底层技术如何改变货币、商业和世界', bookbuytime: '2016-05-04', bookbuyer: '李晓月', bookborrower: '李小虎', bookvolume: '1', editing: false }, { bookname: '大家一起学配色:数学色彩设计全能书', bookbuytime: '2017-12-04', bookbuyer: '张晓月', bookborrower: '王而虎', bookvolume: '1', editing: false } ], prevValue:{} } }, methods:{ handleEdit(index,row){ //编辑 row.editing = true; console.log(index) this.prevValue = JSON.parse(JSON.stringify(row)); }, handleCancle(index,row){ //取消 row.editing = false; let prevContent = this.prevValue.bookname; this.$set(row,"bookname",prevContent); }, savemodify(){ console.log(JSON.stringify(this.modifyData)) } } }
运行图
3.批量删除行数
<template> <div class="TestWorld"> <el-table ref="multipleTable" :data="tableData3" tooltip-effect="dark" style="width: 100%" @selection-change="handleSelectionChange"> <el-table-column type="selection" width="55"> </el-table-column> <el-table-column label="日期" width="120"> <template slot-scope="scope">{{ scope.row.date }}</template> </el-table-column> <el-table-column prop="name" label="姓名" width="120"> </el-table-column> <el-table-column prop="address" label="地址" show-overflow-tooltip> </el-table-column> </el-table> <div style="margin-top: 20px"> <el-button @click="batchDelete">批量删除</el-button> <el-button @click="toggleSelection()">取消选择</el-button> </div> </div> </template>
vuejs 代码
export default { name:'TestWorld', data() { return { tableData3: [ { date: '2016-05-03', name: '王小虎', address: '上海市普陀区金沙江路 1518 弄' }, { date: '2016-05-02', name: '王小虎', address: '上海市普陀区金沙江路 1518 弄' }, { date: '2016-05-04', name: '王小虎', address: '上海市普陀区金沙江路 1518 弄' }, { date: '2016-05-01', name: '王小虎', address: '上海市普陀区金沙江路 1518 弄' }, { date: '2016-05-08', name: '王小虎', address: '上海市普陀区金沙江路 1518 弄' },{ date: '2016-05-06', name: '王小虎', address: '上海市普陀区金沙江路 1518 弄' },{ date: '2016-05-07', name: '王小虎', address: '上海市普陀区金沙江路 1518 弄' }], multipleSelection: [] } }, methods:{ toggleSelection(rows) { if (rows) { rows.forEach(row => { this.$refs.multipleTable.toggleRowSelection(row); }); } else { this.$refs.multipleTable.clearSelection(); } }, batchDelete(){ let multData = this.multipleSelection; let tableData =this.tableData3; let multDataLen = multData.length; let tableDataLen = tableData.length; for(let i = 0; i < multDataLen ;i++){ for(let y=0;y < tableDataLen;y++){ if(JSON.stringify(tableData[y]) == JSON.stringify(multData[i])){ //判断是否相等,相等就删除 this.tableData3.splice(y,1) console.log("aa") } } } }, handleSelectionChange(val) { this.multipleSelection = val; } } }
有关验证的代码,看上面,持续更新~
以上这篇vuejs element table 表格添加行,修改,单独删除行,批量删除行操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新日志
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]