element ui中点击表格中编辑按钮打开表单显示detail页面的内容
时间: 2023-12-22 13:05:51 浏览: 241
要实现这个功能,可以在表格中添加一个“编辑”按钮,然后在点击该按钮时,打开一个新的页面或弹出一个模态框,显示表单的内容。
以下是一个简单的示例:
1. 安装 Element UI 和 Vue Router:
```
npm install element-ui vue-router --save
```
2. 在 main.js 中引入 Element UI 和 Vue Router:
```javascript
import Vue from 'vue'
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
import router from './router'
Vue.use(ElementUI)
new Vue({
router,
render: h => h(App),
}).$mount('#app')
```
3. 创建一个包含表格和表单的组件:
```vue
<template>
<div>
<el-table :data="tableData">
<el-table-column prop="name" label="Name"></el-table-column>
<el-table-column prop="age" label="Age"></el-table-column>
<el-table-column label="Action">
<template #default="{row}">
<el-button @click="handleEdit(row)">Edit</el-button>
</template>
</el-table-column>
</el-table>
<el-dialog
title="Edit Form"
:visible.sync="dialogVisible"
>
<el-form :model="form" label-position="top">
<el-form-item label="Name">
<el-input v-model="form.name"></el-input>
</el-form-item>
<el-form-item label="Age">
<el-input v-model.number="form.age"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false">Cancel</el-button>
<el-button type="primary" @click="handleSave">Save</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
export default {
data() {
return {
tableData: [
{ name: 'Tom', age: 18 },
{ name: 'Jerry', age: 20 },
{ name: 'Mickey', age: 22 },
],
dialogVisible: false,
form: {
name: '',
age: 0,
},
}
},
methods: {
handleEdit(row) {
this.form = Object.assign({}, row)
this.dialogVisible = true
},
handleSave() {
// Save form data
this.dialogVisible = false
},
},
}
</script>
```
4. 创建路由并在 App.vue 中使用组件:
```vue
<template>
<div id="app">
<router-view></router-view>
</div>
</template>
<script>
export default {
name: 'App',
}
</script>
```
```javascript
import Vue from 'vue'
import Router from 'vue-router'
import MyComponent from './components/MyComponent.vue'
Vue.use(Router)
export default new Router({
routes: [
{
path: '/',
name: 'MyComponent',
component: MyComponent,
},
],
})
```
现在,当用户点击表格中的“编辑”按钮时,会打开一个包含表单的对话框,用户可以修改数据并保存。
阅读全文