在table中点击某一个表格的单元格点击文字实现文字变成输入框 ,实现可修改的功能
具体思路:
1. 可在单元格内写入俩个标签 用v-if 和v-else 进行控制
2. 俩个标签的值都是以单元格的绑定的值为准
3. 在要编辑的文字标签上加上点击事件来控制他的显示隐藏, 变成一个可编辑的输入框
4.将编辑好的输入框变成原来的文字
这里一定要注意, 记得多写个判断,不能为空,为空的话下次再点击修改就在点不出来了
<el-table :data="tableData" style="width: 100%;margin-bottom: 20px;" row-key="id" border default-expand-all :tree-props="{children: 'children', hasChildren: 'hasChildren'}"> <el-table-column prop="date" label="日期" sortable width="180"></el-table-column> <el-table-column prop="name" label="姓名" sortable width="180"> <template slot-scope="scope" > <el-input v-if="scope.row.isshow" v-model="scope.row.name" @focus="focusOperate(scope.row)" @blur="blurOperate(scope.row)"/> <span @click="showname(scope.row)" v-else>{
{scope.row.name}}</span> </template> </el-table-column> <el-table-column prop="address" label="地址"></el-table-column> </el-table> <script> // js部分 export default { data(){ return{ tableData: [{ id: 1, date: '2016-05-02', name: '王小虎', address: '上海市普陀区金沙江路 1518 弄', isshow:false }, { id: 2, date: '2016-05-04', name: '王小虎', address: '上海市普陀区金沙江路 1517 弄', isshow:false }, { id: 3, date: '2016-05-01', name: '王小虎', address: '上海市普陀区金沙江路 1519 弄', isshow:false, children: [{ id: 31, date: '2016-05-01', name: '王小虎', address: '上海市普陀区金沙江路 1519 弄', isshow:false }, { id: 32, date: '2016-05-01', name: '王小虎', address: '上海市普陀区金沙江路 1519 弄', isshow:false }] }, { id: 4, date: '2016-05-03', name: '王小虎', address: '上海市普陀区金沙江路 1516 弄', isshow:false }], } }, methods:{ showname(row){ console.log(row) row.isshow = true }, //隐藏输入框 blurOperate(row){ if (row.name !== row.oldName && row.name) { this.$message({ message: '修改成功', type: 'success', duration: 1000 }) row.isshow = false } } } } </script>
讯享网

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/20897.html