Vue基于ElementUI实现Table可编辑/添加功能
文章目录效果预览前端代码添...
·
效果预览
前端代码
<el-table ref="singleTable" :data="dataList" border="" v-loading="dataListLoading" @selection-change="selectionChangeHandle" style="width: 100%;">
<el-table-column type="selection" header-align="center" align="center" width="50"></el-table-column>
<el-table-column v-for="(item ,idx) in tableList" :prop="item.value" width="100" header-align="center" align="center" :label="item.key">
<template slot-scope="scope">
<span v-if="scope.row.isEdit">
<form :rules="rules" ref="ruleForm">
<!--循环名称选则-->
<el-select filterable="" v-if="item.value == 'userId'" v-model="scope.row[item.value]" placeholder="请选择">
<el-option v-for="item in sysUserList" :key="item.id" :label="item.userName" :value="item.id">
</el-option>
</el-select>
<!--循环班次选则-->
<el-select multiple="" v-if="item.value != 'userId'" v-model="scope.row[item.value]" placeholder="请选择" prop="region" rules="rules.region">
<el-option v-for="item in workTimeShiftList" :key="item.id" :label="item.shiftName" :value="item.id">
</el-option>
</el-select>
</form> </span>
<span v-else=""> <p v-if="item.value == 'userId'"> <span v-for="allUserItem in allSysUserList"> </span></p><p v-if="scope.row[item.value] == allUserItem.id"> {{allUserItem.userName}} </p> </span>
<p></p>
<p v-if="item.value != 'userId'"> <span v-for="shiftId in scope.row[item.value]"> </span></p>
<p v-for="shifts in workTimeShiftList"> <span v-if="shiftId == shifts.id"> {{shifts.shiftName}} </span> </p>
<p></p>
<!--{{scope.row[item.value]}}-->
</template>
</el-table-column>
</el-table>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
添加和修改的js
添加
var mydate = new Date();
var uuid = "worktime" + mydate.getDay() + mydate.getHours() + mydate.getMinutes() + mydate.getSeconds() + mydate.getMilliseconds();
this.dataList.push({
"id": uuid,
"isEdit": true
});
- 1
- 2
- 3
- 4
- 5
- 6
修改
for (var i = 0; i < this.dataList.length; i++) {
if (this.dataList[i].userId == this.dataListSelections[0].userId) {
this.dataList[i].isEdit = true;
this.dataList.splice(i, 1, this.dataList[i]) console.log("你即将修改 > ", this.dataList[i]) let param = {
id: this.dataList[i].userId,
userName: this.dataList[i].userName
}
this.sysUserList.push(param);
console.log(this.sysUserList) break;
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
</div>
<link href="https://csdnimg.cn/release/phoenix/mdeditor/markdown_views-b6c3c6d139.css" rel="stylesheet">
<div class="more-toolbox">
<div class="left-toolbox">
<ul class="toolbox-list">
<li class="tool-item tool-active is-like "><a href="javascript:;"><svg class="icon" aria-hidden="true">
<use xlink:href="#csdnc-thumbsup"></use>
</svg><span class="name">点赞</span>
<span class="count"></span>
</a></li>
<li class="tool-item tool-active is-collection "><a href="javascript:;" data-report-click="{"mod":"popu_824"}"><svg class="icon" aria-hidden="true">
<use xlink:href="#icon-csdnc-Collection-G"></use>
</svg><span class="name">收藏</span></a></li>
<li class="tool-item tool-active is-share"><a href="javascript:;"><svg class="icon" aria-hidden="true">
<use xlink:href="#icon-csdnc-fenxiang"></use>
</svg>分享</a></li>
<!--打赏开始-->
<!--打赏结束-->
<li class="tool-item tool-more">
<a>
<svg t="1575545411852" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5717" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M179.176 499.222m-113.245 0a113.245 113.245 0 1 0 226.49 0 113.245 113.245 0 1 0-226.49 0Z" p-id="5718"></path><path d="M509.684 499.222m-113.245 0a113.245 113.245 0 1 0 226.49 0 113.245 113.245 0 1 0-226.49 0Z" p-id="5719"></path><path d="M846.175 499.222m-113.245 0a113.245 113.245 0 1 0 226.49 0 113.245 113.245 0 1 0-226.49 0Z" p-id="5720"></path></svg>
</a>
<ul class="more-box">
<li class="item"><a class="article-report">文章举报</a></li>
</ul>
</li>
</ul>
</div>
</div>
<div class="person-messagebox">
<div class="left-message"><a href="https://blog.csdn.net/u014131617">
<img src="https://profile.csdnimg.cn/8/B/9/3_u014131617" class="avatar_pic" username="u014131617">
<img src="https://g.csdnimg.cn/static/user-reg-year/1x/6.png" class="user-years">
</a></div>
<div class="middle-message">
<div class="title"><span class="tit"><a href="https://blog.csdn.net/u014131617" data-report-click="{"mod":"popu_379"}" target="_blank">小龙哒</a></span>
</div>
<div class="text"><span>发布了237 篇原创文章</span> · <span>获赞 57</span> · <span>访问量 14万+</span></div>
</div>
<div class="right-message">
<a href="https://im.csdn.net/im/main.html?userName=u014131617" target="_blank" class="btn btn-sm btn-red-hollow bt-button personal-letter">私信
</a>
<a class="btn btn-sm bt-button personal-watch" data-report-click="{"mod":"popu_379"}">关注</a>
</div>
</div>
</div>
更多推荐
已为社区贡献3条内容
所有评论(0)