点击新增怎么在表格的最下面新加一行直接进行添加数据,然后保存。
向table绑定的json,push一条数据
提供一个思路 给列表数据项添加一个float变量用来控制当前行的数据项是否可编辑,如果可编辑当前项就变为输入框可编辑,然后新增的时候往table绑定的数组中添加一条数据
<el-table :data="tableData">
<el-table-column>
<template slot="header">
<el-button type="primary" icon="el-icon-plus" @click="addRow">新增</el-button>
</template>
</el-table-column>
<el-table-column label="姓名" prop="name">
<template slot-scope="scope">
<el-input v-model="scope.row.name" v-if="scope.$index === tableData.length - 1"></el-input>
<span v-else>{{ scope.row.name }}</span>
</template>
</el-table-column>
<el-table-column label="年龄" prop="age">
<template slot-scope="scope">
<el-input v-model="scope.row.age" v-if="scope.$index === tableData.length - 1"></el-input>
<span v-else>{{ scope.row.age }}</span>
</template>
</el-table-column>
</el-table>
export default {
data() {
return {
tableData: [
{ name: '张三', age: 18 },
{ name: '李四', age: 22 },
{ name: '王五', age: 30 }
]
}
},
methods: {
addRow() {
this.tableData.push({ name: '', age: '' });
}
}
}
1、首先排除“点击一行,跳出窗口,修改一行保存”的模式,这对用户来说太慢
2、不可以一次加载/改变较多的dom元素
3、在页面不卡的情况下,尽可能多的展示数据