element UI 表格怎么实现行内编辑

element UI 表格怎么实现行内编辑,第1张

以下是纯锋帆js+html实现的增删改 *** 作代雹乱码,你可以参考以下。当然也可以使用jquery之类的框架来实现,最终的原理都是一样的。

<html> <head> <title>增删改查</title>银肆雹<style type=""> tr{ text-align:center }</style> <script type="text/javascript"> //通过新增按钮来控制表格的显示与隐藏 var optionFlag = "save" var updateRowIndex = -1 var checkFlag=false//默认为不显示 function show() { optionFlag = "save"var f = document.getElementById("did")//获得id为did的 div if(!checkFlag) { f.style.visibility="visible" }else{ f.style.visibility="hidden" } checkFlag=!checkFlag } //通过保存按钮将数据添加到表格中 function insertRow_() { switch(optionFlag) {case "save" : insertRow_$save() break case "update" : insertRow_$update() break default : alert(" *** 作失败。。。") } function insertRow_$save() {//通过id获得要添加数据的表格 var table = document.getElementById("tableid") //将所输入的内容赋给定义的变量 var titleName = document.getElementById("title").value var digestName = document.getElementById("digest").value var authorName = document.getElementById("author").value //获取下拉框内的内容 var selectIndex_ = document.getElementById("select") var option = selectIndex_.options[selectIndex_.selectedIndex] var selectName = option.text //获取编号的内容 var numberid = table.rows.length //在表尾添加一行数据 var row_ = table.insertRow(table.rows.length) row_.insertCell(0).innerHTML = numberid row_.insertCell(1).innerHTML = titleName row_.insertCell(2).innerHTML = digestName row_.insertCell(3).innerHTML = authorName row_.insertCell(4).innerHTML = selectName row_.insertCell(5).innerHTML = '<input type="button" value="修改" onclick="update_(this.parentNode.parentNode)"></input><input type="button" value="删除" onclick="delete_(this.parentNode.parentNode)></input>' document.getElementById("title").value = "" document.getElementById("digest").value = "" document.getElementById("author").value = "" document.getElementById("select").options[0].selected="true" var f = document.getElementById("did") f.style.visibility="hidden" alert("保存数据成功!!!")} //修改后的保存 var trfunction insertRow_$update() { var table = document.getElementById("tableid")tr = table.rows[updateRowIndex]var p = document.getElementById("title")tr.cells[1].innerHTML = p.valuep = document.getElementById("digest")tr.cells[2].innerHTML = p.valuep = document.getElementById("author")tr.cells[3].innerHTML = p.valuep = document.getElementById("select")var Index_ = p.selectedIndexvar option = p.options[Index_]var selectName = option.texttr.cells[4].innerHTML = selectNamedocument.getElementById("title").value = "" document.getElementById("digest").value = "" document.getElementById("author").value = "" document.getElementById("select").options[0].selected="true"var f = document.getElementById("did")f.style.visibility="hidden"alert("修改数据成功。。。")} } //通过删除按钮 删除当前所在行 function delete_(row_) { var table = document.getElementById("tableid")table.deleteRow(row_.rowIndex)refurbish_()alert("删除数据成功!!!") } //刷新 function refurbish_() { var table = document.getElementById("tableid")//获得table的行数 var rows = table.rowsfor(var i=1i<rows.lengthi++) { rows[i].cells[0].innerHTML = i} } //通修改按钮对table里的数据进行修改 function update_(row) { updateRowIndex = row.rowIndexoptionFlag = "update"//对table里的数据进行回显 document.getElementById("title").value = row.cells[1].innerHTMLdocument.getElementById("digest").value = row.cells[2].innerHTMLdocument.getElementById("author").value = row.cells[3].innerHTMLvar selectText = row.cells[4].innerHTMLvar sel = document.getElementById("select")var ops = sel.optionsfor(var i=0i<ops.lengthi++) {if(selectText==ops[i].text) { sel.options[i].selected = "true"} } var f = document.getElementById("did")f.style.visibility="visible" }</script> </head> <body> <input type="button" value="新增" onclick="show()"></input> <div> <table border = "1" cellspacing = "0" id="tableid" width=100%><tr bgcolor="yellow"> <th>编号</th> <th>标题</th> <th>摘要</th> <th>作者</th> <th>类别</th> <th> *** 作</th></tr><tr> <td>1</td> <td>dgsdg</td> <td>sdgfd</td> <td>ghfhh</td> <td></td> <td> <input type="button" value="修改" onclick="update_(this.parentNode.parentNode)"></input> <input type="button" value="删除" onclick="delete_(this.parentNode.parentNode)"></input> </td></tr></table> </div><br> <div align="center" id="did" style="visibility:hidden"> <form action=""><table> <tr> <td>标题:</td> <td><input type="text" id="title"></input></td> <td>摘要:</td> <td><input type="text" id="digest"></input></td> </tr> <tr> <td>作者:</td> <td><input type="text" id="author"></input></td> <td>类别:</td> <td align="left"> <select id="select"> <option>证劵</option> <option></option> <option></option> </select> </td> </tr> </table> <br> <center><input type="button" value="保存" onclick="insertRow_()"></input><input type="reset" value="重置"></input> </center> </form> </div></body></html>

在element+vue项目中,需求要表蚂前友格内已有数据,点击新增在首行添悔高加一行带输入框内容

table的数据为datas=[],那么下面是一列的数据,多列可循环或复制

 <el-table-column

prop="name"

label="件号"

sortable

show-overflow-tooltip:

true

align="center"

width="180"

>

<template slot-scope="scope">

<template

v-if="scope.row.show"

>

<el-form-item

label=" "

prop="name"

>

<el-input

v-model="ruleForm.name"

disabled="true"

size="mini"

>

<i

slot="suffix"

class="el-input__icon el-icon-search"

@click="Partnum"

/>

</el-input>

</el-form-item>

</闷槐template>

<template v-else>

<span @click="partNumber(scope.$index, scope.row)">{{ scope.row.name }}</span>

</template>

</template>

</el-table-column>

这思路主要是template里面还有2个template,在data数组的 *** 作中每条加一个属性show来控制是显示输入框还是里面的某个字段,

addBtn () {// 添加按钮事件

let data = { show: true }

this.datasNew.unshift(data)

},

同思路可自定义添加各种属性给表格做相应 *** 作。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11984940.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存