vue可填写表格_vue+elementUI 可编辑表格

elementUI表格属性:highlight-current-row(是否要高亮当前行)

el-table 配置属性 highlight-current-row 后 点击行触发 row-click 事件,会给当前行添加一个current-row 样式属性

思路:在需要编辑操作的列中设置span(显示数据)及input(编辑数据)通过current-row样式属性配置的权重控制显隐达到只读/编辑的效果。

html部分

{{isEdit?'只读':'编辑'}}

{{scope.row.result||0}}

{{scope.row.level||"-"}}

js部分

data: function () {

return {

isEdit: false, // 控制表格只读/编辑状态

userList: [{ // 列表数据

name: '瓜瓜',

result: 0,

level: ''

},

{

name: '康康',

result: 0,

level: ''

}, {

name: '军军',

result: 0,

level: ''

}, {

name: '江江',

result: 0,

level: ''

}

]

}

},

methods: {

/**

* 成绩输入回车/失去焦点统计

* @param {Number} index 行索引

* @param {Number} result 成绩

*/

handleInputBlurResult({

index,

result = 0

}) {

let level = '';

if (result >= 85) { //计算对应评级

level = 'A';

} else if (result >= 60) {

level = 'B';

} else {

level = 'C';

}

this.userList[index].level = level; //数据回填

}

}

css部分

.c-red {

color: #F56C6C;

}

.c-green {

color: #67C23A;

}

.tb-edit {

.el-input {

display: none

}

.current-row {

.el-input {

display: block

}

.el-input+span {

display: none

}

}

}

.tb-show {

.el-input {

display: none

}

}

demo中我额外添加了isEdit(控制el-table的class:tb-edit / tb-show)来控制表格的 只读/编辑 模式。以及输入数值之后的扩展方法 handleInputBlurResult 根据输入成绩值设置评级。

当然不局限于使用input做文本编辑,还可以添加各种其他控件进行赋值操作,关键点在于设置控件的显隐。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值