vue和element-ui实例

本文介绍了如何使用Vue和Element-UI构建登陆界面及后台管理系统侧栏。通过封装模块和利用vue-router进行路由分发,实现不同页面内容的展示,如用户列表。同时提到了在页面结构中应用路由属性to来切换视图,并展示了数据图表插件Echarts的使用效果。
摘要由CSDN通过智能技术生成

登陆界面

<template>
    <div class="login-box fillconctain">
      <section class="form-contianer">
        <div class="login-header">
          <h4>HXC后台管理系统</h4>
        </div>
        <el-form :model="ruleForm" status-icon :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm">
          <h4 class="title">欢迎登录平台</h4>
          <el-input class="input-text" type="username" placeholder="用户名" v-model="ruleForm.username" autocomplete="off"></el-input>
          <el-input class="input-text" type="password" placeholder="密码" v-model="ruleForm.pass" autocomplete="off"></el-input>
          <el-checkbox v-model="checked">记住我</el-checkbox>
          <el-button class="submit_btn" type="primary" @click="submitForm('ruleForm')">登录</el-button>
          <p class="tip">温馨提示:</p>
          <p class="tip">未登录过的用户,自动注册</p>
          <p class="tip">注册过的用户可以凭借账户密码登录</p>
        </el-form>
        
      </section>
    </div>
</template>

<script>
import {
   mapActions,mapState} from 'vuex'
  export default {
   
    data() {
   
      return {
   
        ruleForm: {
   
          pass: '',
          checkPass: '',
          age: ''
        },
        rules: {
   
          username: [
            {
    trigger: 'blur' }
          ],
          pass: [
            {
    trigger: 'blur' }
          ]
        },
        checked: true
      };
    },
    //声明周期钩子函数
    mounted(){
   
      if(!this.adminInfo.id){
   
        this.getAdminData();
      }
    },
    computed:{
   
      ...mapState(['adminInfo'])
    },
    //计算属性  => 监听 adminInfo的变化
    methods: {
   
      ...mapActions(["getAdminData"]),
      async submitForm(formName) {
   
        this.$refs[formName].validate((valid) => {
   
          if (valid) {
   
            this.$message({
   
              type:'success',
              message:'登录成功'
            })
            this.$router.push("manage");
          } else {
   
            this.$notify.error({
   
              title:"错误",
              message:'请输入正确的用户名或密码',
              offset:100
            })
            return false;
          }
        });
      },
      watch:{
   
        adminInfo:function(newValue){
   
          console.log('ssa')
          if(newValue.id){
   
            this.$message({
   
              type:'success',
              message:'检测到您之前登陆过,将自动登录'
            })
            this.$router.push('manage')
          
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Vue中引入Element-ui,你可以按照以下两种方法之一进行操作: 方法一:全局引入 在src下的main.js文件中,你可以引入ElementUI组件,并在Vue实例中使用Vue.use(ElementUI)来全局注入Element-ui。还需要引入Element-ui的样式文件,可以使用import 'element-ui/lib/theme-chalk/index.css'.以下是示例代码: ``` import Vue from 'vue' import ElementUI from 'element-ui'; import 'element-ui/lib/theme-chalk/index.css'; import App from './App.vue' Vue.config.productionTip = false Vue.use(ElementUI); new Vue({ render: h => h(App), }).$mount('#app') ``` 方法二:按需引入 在src下的main.js文件中,你可以按需引入Element-ui所需的组件,并使用Vue.use(ComponentName)来按需注入需要使用的组件。同样需要引入Element-ui的样式文件。以下是示例代码: ``` import Vue from 'vue' import { Button, Radio } from 'element-ui'; import 'element-ui/lib/theme-chalk/index.css'; import App from './App.vue' Vue.config.productionTip = false Vue.use(Button); Vue.use(Radio); new Vue({ render: h => h(App), }).$mount('#app') ``` 需要注意的是,按需引入时,你需要指定你要使用的组件,例如Button和Radio。这样可以减少打包后的文件大小。 而在bable.config.js中,你可以添加Element-ui的插件配置,以自动按需引入Element-ui组件的样式。以下是示例代码: ``` "plugins": [ [ "component", { "libraryName": "element-ui", "styleLibraryName": "theme-chalk" } ] ] ``` 这样就可以根据需要灵活引入和使用Element-ui组件了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [vue引入Element-ui](https://blog.csdn.net/m0_51459514/article/details/123655142)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值