Vue+ElementUI实现简单的用户管理系统(五):编辑用户信息

(1)编辑用户的界面

界面和和添加用户的界面差不多,只是需要显示用户原来的信息。


  data(){
      return {
        labelPosition: 'right',
        customer:{
          name:'',
          phone:'',
          email:'',
          desc:''
        },
        rules:{
          name:[
            { required: true, message: '请输入姓名', trigger: 'blur' },
            { min: 2, max: 8, message: '长度在 2 到 8 个字符', trigger: 'blur' }
          ],
          phone:[
            { required: true, message: '请输入电话', trigger: 'blur' }
          ],
          email:[
            { required: true, message: '请输入邮箱', trigger: 'blur' }
          ],
          desc:[
            { required: true, message: '请输入个人简介', trigger: 'blur' }
          ],
        }
      }
    },

显示用户本来的信息(也就是根据ID获取,和之前一样。。。。。。):

 created() {
      this.handle(this.$route.query.id);
    },
handle(id){
        let config = {
          url:'http://localhost:3000/users/'+id,
          method: 'get',
        }
        axios(config)
            .then((response) => {
              console.log(response)
              this.customer = response.data
              //  console.log(customer)
            })
      },

(二)编辑用户信息

使用axios的put请求

submitForm(formName) {
        this.$refs[formName].validate((valid) => {
          if (valid) {
          //  alert('submit!');
            let updateCustomer = {
              name: this.customer.name,
              phone: this.customer.phone,
              email: this.customer.email,
              desc: this.customer.desc,
            }
       
            axios.put('http://localhost:3000/users/'+this.$route.query.id,updateCustomer)
                .then((response) => {
                  this.$message({
                    message: '更新用户信息成功',
                    type: 'success'
                  });
                  this.$router.push({path:'/customers',query:{alert:'success'}})
                })
          } else {
            console.log('error submit!!');
            return false;
          }
        });
      },

你可能感兴趣的:(Vue)