elementUI el-form的使用

阅读数:135 评论数:0

跳转到新版页面

分类

html/css/js

正文

一、设置el-label和el-input高度

<style scoped>
    ::v-deep.el-form-item.foldLabel .el-form-item__label {
        white-space: pre-line; /*换行显示*/
        height: 32px;/*设置lable高度,与input高度一样*/
        line-height: 16px!important;/*设置行高为label高度的一半(有n行就是label高度的1/n)*/
    }
</style>

二、自定义检验

<el-form ref="perfectInfo"   
        :model="perfectData" //所有form表单中的值全放到此JSON中 
        label-width="90px"  
        :rules="rulesPerfectData" //定义校验规则
        class="page-form secondForm">
       <el-form-item prop="realName" label="真实姓名">
             <el-input v-model="perfectData.realName" placeholder="请输入真实姓名">
             </el-input>
       </el-form-item>
       <el-form-item style="margin-left:-80px;" class="confirmBtn">
          <el-button @click="perfectInformation" type="success" style="width:100%;">
             确认激活
          </el-button>
       </el-form-item>
</el-form>
 

js部分

<script>
  export default{
      data(){
            //定义自定义表单验证,else必须callback()否则点击确认执行按钮无法校验拦截,会直接进 
            //入下一步
            var checkName=(rule,value,callback)=>{
                let nameZz= /^[a-zA-Z\u4E00-\u9FA5\uf900-\ufa2d·s]{2,20}$/;
                if(!value){
                    return callback(new Error('姓名不能为空'));
                }else if(!nameZz.test(value)){
                    return callback(new Error('姓名格式不正确'))
                }else{
                    callback();
                }
            };
          return{
             perfectData:{
                    realName:''
             },
            //执行校验
             rulesPerfectData:{
               realName:[
                 //此写法是执行上面定义的校验规则
                 {required:true,validator:checkName,trigger:'blur'},
                 //此写法默认校验值不能为空
                 {required:true,message:'姓名不能为空',trigger:'blur'}
               ]
 
          }
      },
      methods:{
        perfectInformation(){
            this.$refs[perfectInfo'].validate(async (valid)=>{
                 if(valid){
                    //校验通过valid为true
                    console.log(‘校验通过’);
                }
            })
        }
      }  
  }
</script>



相关推荐

1、安装依赖 npm install svg-sprite-loader --save-dev 2、配置build文件夹中的webpack.base.conf.js 3、在src/component

在列表渲染时使用key属性 当Vue.js用v-for正在更新已渲染过的元素列表时,它默认用&ldquo;就地复用&rdquo;策略,如果数据项的顺序被改变,Vue将不会移动D

一、vue.js devtools开发工具的使用 1、安装 在chrome或firefox浏览器的扩展插件仓库里搜索vue devtool。 2、debugger的使用 假设我们想调试App.vue这

在一些情况下,我们可能会需要对一个prop进行双向绑定,但它破坏了单向数据流。 在vue 2.3.0,重新引入了.sync修饰符,这是一个语法糖。 例子: <

&lt;div id="app"&gt; &lt;div v-on:click="dodo"&gt;

在登陆页的mouted生命周期方法中,添加 <pre class

ref被用来给元素或子组件注册引用信息,引用信息将会注册在父组件的$refs对象上。如果在普通的DOM元素上使用,引用指向的就是DOM元素,如果用在子组件上,引用就指向组件实例。 <!-- `vm.$

在使用Vue中经常看到HTML中有标签属性前面添加了“:”,有些没有。 其实是v-bind的缩写。 v-bind 缩写: ‘:’ 用法:动态绑定一个或多个特性,或一个组件prop到表达式。在绑定cl

module.exports = { "plugins": { "postcss-import": {},

一、概述 Vuex是一个专门为Vue.js应用程序开发的全局状态管理功能。它采用集中式存储管理应用的所有组件的状态, 并以相应的规则保证状态以一种可预测的方式发生变化。 每一个Vuex应用的核心就是s