美文网首页
grails+vue.js(四)引入Element

grails+vue.js(四)引入Element

作者: Toplhyi | 来源:发表于2019-08-20 16:22 被阅读0次
    • 完整引入Element并进行全局配置
      在main.js中写入以下内容:
    import ElementUI from 'element-ui'
    import 'element-ui/lib/theme-chalk/index.css'
    
    Vue.use(ElementUI, { size: 'small', zIndex: 3000 })
    

    size 用于改变组件的默认尺寸,zIndex 设置弹框的初始 z-index(默认值:2000)

    • 改造登录页
    <template>
      <el-form :model="loginForm" :rules="rules" ref="loginForm" class="login-form">
        <el-form-item style="text-align: center;">
          <h3>登录</h3>
        </el-form-item>
        <el-form-item label="" prop="username">
          <el-input prefix-icon="el-icon-user" v-model="loginForm.username" placeholder="用户名" clearable></el-input>
        </el-form-item>
        <el-form-item label="" prop="password">
          <el-input prefix-icon="el-icon-key" v-model="loginForm.password" placeholder="密码" show-password></el-input>
        </el-form-item>
        <el-form-item style="text-align: center;">
          <el-button type="primary" @click="doLogin('loginForm')">登录</el-button>
        </el-form-item>
      </el-form>
    </template>
    
    <script>
    import router from '../router'
    import request from '../utils/request'
    
    export default {
      name: 'Login',
      data () {
        return {
          loginForm: {
            username: null,
            password: null
          },
          rules: {
            username: [
              { required: true, message: '请输入用户名', trigger: 'blur' }
            ],
            password: [
              { required: true, message: '请输入密码', trigger: 'blur' }
            ]
          }
        }
      },
      methods: {
        doLogin: function (formName) {
          this.$refs[formName].validate((valid) => {
            if (valid) {
              request({
                url: '/api/login',
                method: 'POST',
                data: JSON.stringify(this.loginForm)
              }).then(json => {
                if (json && typeof json !== 'undefined') {
                  localStorage.setItem(this.tokenKey, JSON.stringify(json))
                  router.push({
                    name: 'Welcome'
                  })
                } else {
                  this.$message({
                    message: '用户名或密码错误',
                    type: 'warning'
                  })
                }
              }).catch(error => {
                this.$message.error(error);
              })
            }
          })
        }
      }
    
    }
    </script>
    
    <style>
      .login-form{
        border: 1px solid #9d9d9d;
        width: 400px;
        margin: 200px auto;
        padding: 35px 35px 15px 35px;
        box-shadow: 0 0 25px #9d9d9d;
        border-radius: 5px;
      }
    </style>
    
    

    效果如下:


    登录.png

    相关文章

      网友评论

          本文标题:grails+vue.js(四)引入Element

          本文链接:https://www.haomeiwen.com/subject/ervusctx.html