vue el-table实现行内编辑功能

  介绍

本篇文章为大家展示了vue el-table实现行内编辑功能,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

(1)自定义el-table的表头(即添加“新增”按钮):

& lt; el-table :数据=https://www.yisu.com/zixun/皃ropTableData.col.filter(数据=> handleAdd | | data.name.toLowerCase()其中包括(handleAdd.toLowerCase ()))”   highlight-current-row   边境>    & lt; template 槽=癶eader"   slot-scope才能=皊cope"祝辞   & lt;才能el-button  v模型=癶andleAdd"   ,,,的大?癿ini"   ,,,类型=皊uccess"   ,,,   ,,,平原   ,,,@click=癶andleAdd(范围。美元指数,scope.row)“在{{,$ t (& # 39; common.add& # 39;),}} & lt;/el-button>   & lt;/template>

表头自定义了一个“添加“按钮,点击el-table动态添加一行。

(2) el-table动态添加一行:

let  row =, {   ,,代码:& # 39;& # 39;   maxValue才能:& # 39;& # 39;   minValue才能:& # 39;& # 39;   ,,名字:& # 39;& # 39;   valueType才能:& # 39;字符串# 39;   ,,id: & # 39; & # 39;   ,,类型id: & # 39; & # 39;   警告:才能,假的,   收取:才能正确   }   this.propTableData.col.push(行)

vue数据变化驱动dom进行更新,给表绑定的数据propTableData。坳添加一个元素,则表格会添加一行。

propTableData。选取保存当前行数据:

this.propTableData.sel =,行

(3) el-table动态删除一行:

子组件中触发父组件的删除事件:

。美元发出(& # 39;删除# 39;,,row.id)

(4)当前行状态判断,即是否处于编辑状态,控制表格每一行的按钮元素的移除与插入:

& lt; template  slot-scope=皊cope"比;   ,,& lt; el-button 大?癿ini"   ,,,,,类型=皃rimary"   ,,,,,   ,,,,,   ,,,,,v=? scope.row.isSet"   ,,,,,@click=皏alChange (scope.row、范围。美元指数,真的)“在{{,$ t (& # 39; common.edit& # 39;),}} & lt;/el-button>   ,,& lt; el-button 大?癿ini"   ,,,,,类型=皃rimary"   ,,,,,   ,,,,,   ,,,,v-else   ,,,,,@click=皏alChange (scope.row、范围。美元指数,真的)“在{{,$ t (& # 39; common.save& # 39;),}} & lt;/el-button>   ,,& lt; el-button 大?癿ini"   ,,,,,类型=癲anger"   ,,,,,   ,,,,,   ,,,,,v=? scope.row.isSet"   ,,,,,@click=癶andleDelete(范围。美元指数,scope.row)“在{{,$ t (& # 39; common.delete& # 39;),}} & lt;/el-button>   ,,& lt; el-button 大?癿ini"   ,,,,,类型=癲anger"   ,,,,,   ,,,,,   ,,,,v-else   ,,,,,@click=皏alChange (scope.row范围。美元指数,假)“在{{,$ t (& # 39; common.cancel& # 39;),}} & lt;/el-button>   & lt;/template>

上面代码中,通过v=" scope.row。收取“来判断当前行是否处于编辑状态。

如果当前行处于编辑状态,则按钮为“保存”和“取消”,此时可对当前行进行保存和取消操作,且不能新增,除非先保存当前行;

如果当前行处于非编辑状态,则按钮为“编辑”和“删除”状态,此时可对当前行进行编辑和删除操作。

这样,就可以实现el-table行内编辑的需求。

 vue el-table实现行内编辑功能

完整版代码如下:

& lt; template>   ,& lt; el-dialog 类=皍iot-dialog"   ,,,宽度=?00 px"   ,,,:visible.sync=癷sShow"   ,,,:before-close=癰eforeClose"   ,,,:close-on-click-modal=癴alse"   ,,,:title=? t (& # 39; basicData.device.propDlg.dlgTitle& # 39;)“;   ,,,@open=皁pen"比;   ,& lt; el-table :数据=皃ropTableData.col.filter (data =祝辞,handleAdd  | |, data.name.toLowerCase()其中包括(handleAdd.toLowerCase ())),   ,,highlight-current-row   ,,,border>   & lt;才能el-table-column 标签=懊挥?”   ,,,,,类型=癷ndex"   ,,,,,=岸云隿enter"   ,,,,,宽度=?0“祝辞& lt;/el-table-column>   & lt;才能el-table-column : label=? t (& # 39; basicData.device.propDlg.code& # 39;)“比;   & lt;才能template  slot-scope=皊cope"比;   ,,& lt; span  v=皊cope.row.isSet"比;   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

vue el-table实现行内编辑功能