Table.vue
<template>
<div class="main">
<el-table
:data="tableData"
style=" 100%">
<el-table-column
prop="date"
label="日期"
width="180">
</el-table-column>
<el-table-column
prop="name"
label="姓名"
width="180">
</el-table-column>
<el-table-column
prop="address"
label="地址">
</el-table-column>
<el-table-column
label="编辑">
<template slot-scope="scope"><!-- slot-scope="scope" 这里取到当前单元格 -->
<el-button type="primary" icon="el-icon-edit" @click="toUpdate(scope)" circle></el-button>
</template>
</el-table-column>
<el-table-column
label="下拉菜单编辑">
<template slot-scope="scope"> <!-- slot-scope="scope" 这里取到当前单元格 -->
<el-dropdown size="medium" split-button type="primary" @command="handleCommand">
更多
<el-dropdown-menu slot="dropdown">
<el-dropdown-item command="add">增加</el-dropdown-item>
<el-dropdown-item command="delete" @click.native="doDelete(scope)" >删除</el-dropdown-item>
<el-dropdown-item command="edit" @click.native="doEdit(scope)">编辑{{scope.$index}}</el-dropdown-item>
<el-dropdown-item command="sheng">上升</el-dropdown-item><!-- scope.row 这里取到当前单元格text值 -->
<el-dropdown-item command="jiang">下降</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</template>
</el-table-column>
</el-table>
<!-- 模态框-->
<el-dialog :title="title" :visible.sync="dialogVisible" @close="closeDialog('dialogForm')" width="30%" height="50%">
<el-form :model="dialogForm" ref="dialogForm">
<el-form-item label="类别名称" prop="name">
<el-input v-model="dialogForm.name" clearable></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false">取 消</el-button>
<el-button type="primary" @click="saveAddForm('dialogForm')">确 定</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import moment from 'moment'
export default {
data() {
return {
tableData: [{
date: '2016-05-02',
name: '王小虎',
address: '上海市普陀区金沙江路 1518 弄'
}, {
date: '2016-05-04',
name: '王小虎',
address: '上海市普陀区金沙江路 1517 弄'
}, {
date: '2016-05-01',
name: '王小虎',
address: '上海市普陀区金沙江路 1519 弄'
}, {
date: '2016-05-03',
name: '王小虎',
address: '上海市普陀区金沙江路 1516 弄'
}],
dialogForm: {
index: 0,
name: ''
},
dialogVisible: false,
title: "事件修改",
}
},
methods:{
toUpdate(scope){
console.log('scope'+scope)
},
handleEdit(index, row){
console.log('index'+index,'row'+row)
},
handleCommand(command) {
// command 判断点击的是下拉菜单哪一个按钮
// 但是这里并不知道点击的事哪一行
//this.$message('click on item ' + command);
if (command==='add') {
this.tableData.push({
date: moment().format("YYYY-MM-DD"),
name: '王小虎',
address: '上海市普陀区金沙江路 1516 弄'
})
}
else if (command==='delete') {
console.log("command==='delete'")//不允许空方法
}
},
doDelete(scope){
//console.log(scope.$index)
this.tableData.splice(scope.$index, 1)
},
doEdit(scope){
console.log(scope.$index,scope.row.name)
this.dialogVisible = true
this.dialogForm={
index: scope.$index,
name: scope.row.name
}
},
saveAddForm(){
this.tableData[this.dialogForm.index].name = this.dialogForm.name;
this.dialogVisible = false;
},
closeDialog(){
this.dialogVisible = false;
}
}
}
</script>