一、Element-Plus 表单

1.结构相关

el-row表示一行,一行分成24份

  el-col 表示列

(1):span="12"  代表在一行中,占12份(50%)

(2):span="6"  代表在一行中,占6份(25%)

(3):offset="3"  代表在一行中,左侧margin份数

el-form  整个表单组件

el-form-item 表单的一行(一个表单域)

el-input 表单元素(输入框)

<el-row class="login-page">
    <el-col :span="12" class="bg"></el-col>
    <el-col :span="6" :offset="3" class="form">
      <el-form
        ref="form"
        size="large"
        autocomplete="off"
        v-if="isRegister"
        :rules="rules"
        :model="formModel"
      >
        <el-form-item>
          <h1>注册</h1>
        </el-form-item>
        <el-form-item prop="username">
          <el-input
            v-model="formModel.username"
            :prefix-icon="User"
            placeholder="请输入用户名"
          ></el-input>
        </el-form-item>
        <el-form-item prop="password">
          <el-input
            :prefix-icon="Lock"
            v-model="formModel.password"
            type="password"
            placeholder="请输入密码"
          ></el-input>
        </el-form-item>
        <el-form-item>
          <el-input
            :prefix-icon="Lock"
            type="password"
            placeholder="请再次输入密码"
          ></el-input>
        </el-form-item>
        <el-form-item>
          <el-button class="button" type="primary" auto-insert-space>
            注册
          </el-button>
        </el-form-item>
        <el-form-item class="flex">
          <el-link type="info" :underline="false" @click="isRegister = false">
            ← 返回
          </el-link>
        </el-form-item>
      </el-form>
      <el-form
        ref="form"
        size="large"
        :rules="rules"
        :model="formModel"
        autocomplete="off"
        v-else
      >
        <el-form-item>
          <h1>登录</h1>
        </el-form-item>
        <el-form-item prop="username">
          <el-input
            v-model="formModel.username"
            :prefix-icon="User"
            placeholder="请输入用户名"
          ></el-input>
        </el-form-item>
        <el-form-item prop="password">
          <el-input
            v-model="formModel.password"
            name="password"
            :prefix-icon="Lock"
            type="password"
            placeholder="请输入密码"
          ></el-input>
        </el-form-item>
        <el-form-item class="flex">
          <div class="flex">
            <el-checkbox>记住我</el-checkbox>
            <el-link type="primary" :underline="false">忘记密码?</el-link>
          </div>
        </el-form-item>
        <el-form-item>
          <el-button class="button" type="primary" auto-insert-space
            >登录</el-button
          >
        </el-form-item>
        <el-form-item class="flex">
          <el-link type="info" :underline="false" @click="isRegister = true">
            注册 →
          </el-link>
        </el-form-item>
      </el-form>
    </el-col>
  </el-row>

2.校验相关

(1)el-form => :model="formModel"  绑定的整个form的数据对象

(2)el-form => :rules="rules"             绑定的整个rules规则对象

(3)表单元素 el-input => v-model="formModel.XXX"  给表单元素绑定formModel的子属性

(4)el-form-item => prop配饰生效的是哪个校验规则(要和rules中的字段要对应)

(5)校验规则中,required代表不为空 ,trigger代表触发条件,blur是失去焦点,change是变化就会触发,pattern是配置正则规则,min和max是最小最大字符数

3.自定义校验

自定义校验 => 自己写逻辑校验(校验函数)

validator:(rule,value,callback)

(1)rule 当前校验规则相关的信息

(2)value 所校验的表单元素目前的表单值

(3)callback 无论成功还是失败,都需要callback回调

          -  callback()校验成功

          -  callback(new Error(错误信息))校验失败

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值