页面
export default{
components: {
EditableCell: () => import('@/components/EditableCell/EditableCell.vue'),
},
data() {
return {
tableData:[
{
date:"2020-12-01",
name:"my name is elementui",
address:"浙江省杭州市西湖区",
}
]
}
},
methods: {
onCellChange(val, row) {
// 将编辑之后的值 对应复制给 表格数据
row.address = val;
}
}
}
组件
{{ value || ' ' }}
export default{
props: {
text: String,
},
data() {
return {
value: this.text,
editable: false,
}
},
methods: {
handleChange(e) {
const value = e.target.value;
this.value = value;
},
check() {
this.editable = false;
this.$emit('changeValue', this.value);
},
edit() {
this.editable = true;
}
}
}
.editable-cell {
position: relative;
}
.editable-cell-input-wrapper,.editable-cell-text-wrapper {
padding-right: 24px;
height: 28px;
line-height: 28px;
}
.editable-cell-text-wrapper {
/* padding: 5px 24px 5px 5px; */
}
.editable-cell-input-wrapper .editable-input{
float: left;
}
.editable-cell-icon,.editable-cell-icon-check {
position: absolute;
top:0;
bottom:0;
right: 0;
margin:auto;
cursor: pointer;
}
.editable-cell-icon {
width:16px;
height:16px;
line-height: 16px;
text-align: center;
display: none;
}
.editable-cell-icon-check {
width:16px;
height:16px;
line-height: 16px;
text-align: center;
}
.editable-cell:hover .editable-cell-icon {
display: inline-block;
}
.editable-cell-icon:hover,.editable-cell-icon-check:hover {
color: #108ee9;
}