<template> <el-dialog :title="title" :visible.sync="dialogFormVisible" width="500px" @close="close" > <el-divider content-position="left"> 这里就不具体写了,请自行完善 </el-divider> <el-form ref="form" :model="form" :rules="rules" label-width="80px"> <el-form-item label="name" prop="name"> <el-input v-model="form.name" autocomplete="off"></el-input> </el-form-item> <el-form-item label="路径" prop="path"> <el-input v-model="form.path" autocomplete="off"></el-input> </el-form-item> </el-form> <div slot="footer" class="dialog-footer"> <el-button @click="close">取 消</el-button> <el-button type="primary" @click="save">确 定</el-button> </div> </el-dialog> </template> <script> import { doEdit } from '@/api/menuManagement' export default { name: 'MenuManagementEdit', data() { return { form: {}, rules: { id: [{ required: true, trigger: 'blur', message: '请输入路径' }], }, title: '', dialogFormVisible: false, } }, created() {}, methods: { showEdit(row) { if (!row) { this.title = '添加' } else { this.title = '编辑' this.form = Object.assign({}, row) } this.dialogFormVisible = true }, close() { this.$refs['form'].resetFields() this.form = this.$options.data().form this.dialogFormVisible = false }, save() { this.$refs['form'].validate(async (valid) => { if (valid) { const { msg } = await doEdit(this.form) this.$baseMessage(msg, 'success') this.$emit('fetch-data') this.close() } else { return false } }) }, }, } </script>