Element UI极简教程(3):Radio、Checkbox、Input组件的使用

299f5e2e5a735232a502215a3b47f869.png

  Java大联盟

  致力于最高效的Java学习

关注

c831756760395be59e9c64f53da493dc.gif

B 站搜索:楠哥教你学Java

获取更多优质视频教程

Radio 单选框

Element UI 的 Radio 使用起来非常简单,直接使用 el-radio 标签即可,属性 v-model 表示该单选框绑定的对象,label 表示该单选框的值,代码如下所示:

<template>
  <div id="app">
    <el-radio v-model="radio" label="1">选项1</el-radio>
    <el-radio v-model="radio" label="2">选项2</el-radio>
  </div>
</template>


<script>
export default {
  data(){
    return{
      radio: '1'
    }
  }
}
</script>

效果图:

3983d157a47ee163a98f780715903eaa.png

当我们选择不同的单选框时,会将该选项的 lable 值赋给 radio 对象,可以通过给单选框绑定点击事件来取值,代码如下:

<template>
  <div id="app">
    <el-radio v-model="radio" label="1" @change="change">选项1</el-radio>
    <el-radio v-model="radio" label="2" @change="change">选项2</el-radio>
  </div>
</template>


<script>
export default {
  data(){
    return{
      radio: '1'
    }
  },
  methods:{
    change(){
      console.log(this.radio)
    }
  }
}
</script>

效果图:

3f6d9372fda097f9fb3831033aba21ac.png

Checkbox 多选框

Checkbox 多选框使用 el-checkbox 标签来完成,我们结合一个常用案例来学习,创建一个多选框列表以及全选按钮,来选择需要的数据,代码如下:

<template>
  <div id="app">
    <el-checkbox :indeterminate="isIndeterminate" v-model="checkAll" @change="handleCheckAllChange">全选</el-checkbox>
    <div style="margin: 15px 0;"></div>
    <el-checkbox-group v-model="checkedCities" @change="handleCheckedCitiesChange">
      <el-checkbox v-for="city in cities" :label="city" :key="city">{{city}}</el-checkbox>
    </el-checkbox-group>
  </div>
</template>


<script>
export default {
  data(){
    return{
      checkAll: false,
      checkedCities: ['上海', '北京'],
      cities: ['上海', '北京', '广州', '深圳'],
      isIndeterminate: true
    }
  },
  methods:{
    handleCheckAllChange(val) {
      this.checkedCities = val ? this.cities : [];
      this.isIndeterminate = false;
    },
    handleCheckedCitiesChange(value) {
      let checkedCount = value.length;
      this.checkAll = checkedCount === this.cities.length;
      this.isIndeterminate = checkedCount > 0 && checkedCount < this.cities.length;
    }
  }
}
</script>

效果图:

01e44edc3fecf6257fc89bd36bed0bea.png

bdd2ed02fe59732e6b9eaf5a563afaae.png

f92d149f858ce5a4d8b1b8d2082e5d00.png

代码解释:

对数组 cities: ['上海', '北京', '广州', '深圳'] 进行遍历生成 4 个多选框,同时绑定点击事件 handleCheckedCitiesChange,该方法是用来判断是否为全选中的,this.checkAll = checkedCount === this.cities.length,如果当前全部选中数据的长度等于初始化数组 cities 的长度,则证明全部选中,再将判断结果赋值给 checkAll。

isIndeterminate 是用来控制全选按钮的样式的,如果当前选中的选项个数大于 0 并且小于初始化数组的长度,则表示有选中数据但没有全部选中,则将 isIndeterminate 的值改为 true,表示部分选中。

给全选按钮绑定了点击事件 handleCheckAllChange,该方法的参数 val 表示当前点击的是全选还是全不选,如果是全选则 val = true,全不选 val = false,handleCheckAllChange 方法内部通过判断 val 的值,设置当前选中的数据是全部还是空,同时再将 isIndeterminate 的值设置为 false,表示去掉部分选中样式。

Input 输入框

Input 为受控组件,它总会显示 Vue 绑定值。通常情况下,应当处理 input 事件,并更新组件的绑定值(或使用 v-model)。否则,输入框内显示的值将不会改变。不支持 v-model 修饰符,代码如下所示:

<template>
  <div id="app">
    <el-input v-model="input" placeholder="请输入内容"></el-input>
  </div>
</template>


<script>
export default {
  data(){
    return{
      input: ''
    }
  }
}
</script>

效果图:

5344697e5b7041e68796574b42f0976d.png

如果要修改尺寸,通过设置size 属性完成,可选值包括:large / medium / small / mini,代码如下所示:

<el-input v-model="input" placeholder="请输入内容" size="large"></el-input>
<div style="margin: 15px 0;"></div>
<el-input v-model="input" placeholder="请输入内容" size="medium"></el-input>
<div style="margin: 15px 0;"></div>
<el-input v-model="input" placeholder="请输入内容" size="small"></el-input>
<div style="margin: 15px 0;"></div>
<el-input v-model="input" placeholder="请输入内容" size="mini"></el-input>
 
 

效果图:

23f33f4f2147d336514740567e430184.png

size 只能修改 Input 的高度,如果要修改其宽度,最简单的方法就是在外层套一个 div,通过设置 div 的宽度来实现修改 Input 宽度,代码如下所示:

<div style="width: 300px">
  <el-input v-model="input" placeholder="请输入内容" size="large"></el-input>
  <div style="margin: 15px 0;"></div>
  <el-input v-model="input" placeholder="请输入内容" size="medium"></el-input>
  <div style="margin: 15px 0;"></div>
  <el-input v-model="input" placeholder="请输入内容" size="small"></el-input>
  <div style="margin: 15px 0;"></div>
  <el-input v-model="input" placeholder="请输入内容" size="mini"></el-input>
</div>

效果图:

e17ee6d1803cca816cdaf416f0c52df4.png

使用 show-password 属性即可得到一个可切换显示隐藏的密码框,代码如下所示:

<el-input v-model="input" placeholder="请输入内容" size="medium" show-password></el-input>

效果图:

0200b56185cbd59bade35b4918c8b539.png

可以通过 prefix-icon 和 suffix-icon 属性在 Input 组件首部和尾部增加显示图标,代码如下所示:

<div style="width: 300px">
  <el-input v-model="input" placeholder="请输入内容" size="medium" suffix-icon="el-icon-date" prefix-icon="el-icon-user"></el-input>
  <div style="margin: 15px 0;"></div>
  <el-input v-model="input" placeholder="请输入内容" size="medium" suffix-icon="el-icon-goods" prefix-icon="el-icon-user-solid"></el-input>
  <div style="margin: 15px 0;"></div>
  <el-input v-model="input" placeholder="请输入内容" size="medium" suffix-icon="el-icon-phone" prefix-icon="el-icon-star-off"></el-input>
</div>

效果图:

a4de667e46d95b007a8368f677a77798.png

maxlength 和 minlength 是原生属性,用来限制输入框的字符长度,代码如下所示:

<div id="app">
  <div style="width: 300px">
    <el-input v-model="input" placeholder="请输入内容" size="medium" maxlength="10" show-word-limit></el-input>
  </div>
</div>

效果图如下所示:

0b3214aa0b3cb1292c5a5dd1eb64983c.png

以上就是 Element UI 中 Radio、Checkbox、Input 组件的使用,下一篇教程楠哥将继续带领大家学习 Element UI 其他组件的使用,如果你觉得这篇教程对你有帮助,就帮楠哥点个赞吧,我们下期教程再见。

推荐阅读

1、Spring Boot+Vue项目实战

2、B站:4小时上手MyBatis Plus

3、一文搞懂前后端分离

4、快速上手Spring Boot+Vue前后端分离

楠哥简介

资深 Java 工程师,微信号 southwindss

《Java零基础实战》一书作者

腾讯课程官方 Java 面试官,今日头条认证大V

GitChat认证作者,B站认证UP主(楠哥教你学Java)

致力于帮助万千 Java 学习者持续成长。

c40b09dfec510b8f974ad7e5984ef723.png

8e11cfbc305e764974b8ca4ff2f5b0fd.png

有收获,就在看 ad29d47c96afc55127c980b5fa5271fb.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值