Element Plus 实例详解(八)___Radio 单选框

本文目录:

一、前言

二、搭建Element Plus试用环境

 1、搭建Vue3项目(基于Vite + Vue)

 2、安装Element Plus

三、Element Plus Radio 单选框功能试用

1、基础用法

2、禁用状态

3、单选框组

4、按钮样式

5、带有边框

四、官方资料中的各参数说明

五、总结


一、前言

  Element Plus Radio 单选框,用于在一组备选项中进行单选。

二、搭建Element Plus试用环境

 1、搭建Vue3项目(基于Vite + Vue)

  安装时请选择支持Typescript,本实例我安装在(C:\00program\vue\vuelearn\vueviteproject1)目录中,具体方法详见下面文章:

vue3 项目搭建教程(基于create-vue,vite,Vite + Vue)https://blog.csdn.net/weixin_69553582/article/details/129630880

   安装完成后打开浏览器:http://localhost:5173/  ,能正常显示欢迎页面:

 2、安装Element Plus

  • NPM:npm install element-plus --save

详细参考:

Element Plus 实例详解系列(一)__安装设置icon-default.png?t=N7T8https://blog.csdn.net/weixin_69553582/article/details/129701286

三、Element Plus Radio 单选框功能试用

1、基础用法

  • 单选框不应该有太多的可选项, 如果有很多的可选项应该使用选择框而不是单选框。
  • 要使用 Radio 组件,只需要设置v-model绑定变量,
  • 选中意味着变量的值为相应 Radio label属性的值, label可以是String、Number 或 Boolean。

实现效果:

完整代码:

<template>
    <h3>Radio 单选框</h3>
    <div class="mb-2 flex items-center text-sm" style="padding:5px;text-align:left;width:500px;font-size:large;">
        <p>1、Radio 单选框size="large":</p>
        <el-radio-group v-model="radio1" class="ml-4">
            <el-radio label="1" size="large">选项 1</el-radio>
            <el-radio label="2" size="large">选项 2</el-radio>
            <el-radio label="3" size="large">选项 3</el-radio>
            <el-radio label="4" size="large">选项 4</el-radio>
        </el-radio-group>
    </div>
    <div class="my-2 flex items-center text-sm" style="padding: 5px; text-align: left; width: 500px; font-size: large;">
        <p>2、Radio 单选框没有设size选项:</p>
        <el-radio-group v-model="radio2" class="ml-4">
            <el-radio label="1">选项 1</el-radio>
            <el-radio label="2">选项 2</el-radio>
            <el-radio label="3">选项 3</el-radio>
            <el-radio label="4">选项 4</el-radio>
        </el-radio-group>
    </div>
    <div class="my-4 flex items-center text-sm" style="padding: 5px; text-align: left; width: 500px; font-size: large;">
        <p>3、Radio 单选框size="small":</p>
        <el-radio-group v-model="radio3" class="ml-4">
            <el-radio label="1" size="small">选项 1</el-radio>
            <el-radio label="2" size="small">选项 2</el-radio>
            <el-radio label="3" size="small">选项 3</el-radio>
            <el-radio label="4" size="small">选项 4</el-radio>
        </el-radio-group>
    </div>
    <div class="mb-2 flex items-center text-sm" style="padding: 5px; text-align: left; width: 500px; font-size: large;">
        <p>4、Radio 单选框size="small",同时设单选框状态不可选择:</p>
        <el-radio-group v-model="radio3" disabled class="ml-4">
            <el-radio label="1" size="small">选项 1</el-radio>
            <el-radio label="2" size="small">选项 2</el-radio>
            <el-radio label="3" size="small">选项 3</el-radio>
            <el-radio label="4" size="small">选项 4</el-radio>
        </el-radio-group>
    </div>
</template>

<script lang="ts" setup>
    import { ref } from 'vue'
    const radio1 = ref('1')
    const radio2 = ref('1')
    const radio3 = ref('1')
    const radio4 = ref('1')
</script>



2、禁用状态

  • disabled 属性可以用来控制单选框的禁用状态。

只需要为单选框设置 disabled 属性就能控制其禁用状态。

实现效果:

完整代码:

<template>
    <h3>Radio 单选框禁用状态</h3>
    <el-radio v-model="radio" disabled label="disabled">Option A</el-radio>
    <el-radio v-model="radio" disabled label="selected and disabled">Option B</el-radio>
</template>

<script lang="ts" setup>
    import { ref } from 'vue'

    const radio = ref('selected and disabled')
</script>


3、单选框组

  • 适用于在多个互斥的选项中选择的场景
  • 结合el-radio-group元素和子元素el-radio可以实现单选组, 为 el-radio-group 绑定 v-model,再为 每一个 el-radio 设置好 label 属性即可, 另外,还可以通过 change 事件来响应变化,它会传入一个参数 value 来表示改变之后的值。

实现效果:

 完整代码:

<template>
    <h3>Radio单选框组</h3>
    <el-radio-group v-model="radio">
        <el-radio :label="1">Option A</el-radio>
        <el-radio :label="2">Option B</el-radio>
        <el-radio :label="3">Option C</el-radio>
        <el-radio :label="4">Option D</el-radio>
        <el-radio :label="5">Option E</el-radio>

    </el-radio-group>
</template>

<script lang="ts" setup>
    import { ref } from 'vue'

    const radio = ref(5)
</script>


4、按钮样式

  • 可以让单选框看起来像一个按钮一样。只需要把 el-radio 元素换成 el-radio-button 元素即可,
  • size 属性用来控制单选框的大小。

实现效果:

完整代码:

<template>
    <h3>Radio按钮样式</h3>
    <div style="padding:5px;text-align:left;width:500px;font-size:large;">
        <p>1、Radio 单选框size="large":</p>
        <el-radio-group v-model="radio1" size="large">
            <el-radio-button label="苹果" />
            <el-radio-button label="雪梨" />
            <el-radio-button label="菠萝" />
            <el-radio-button label="橙子" />
        </el-radio-group>
    </div>
    <div style="padding:5px;text-align:left;width:500px;font-size:large;">
        <p>2、Radio 单选框没有设size选项:</p>
        <el-radio-group v-model="radio2">
            <el-radio-button label="苹果" />
            <el-radio-button label="雪梨" disabled />
            <el-radio-button label="菠萝" />
            <el-radio-button label="橙子" />
        </el-radio-group>
    </div>
    <div style="padding:5px;text-align:left;width:500px;font-size:large;">
        <p>3、Radio 单选框size="small":</p>
        <el-radio-group v-model="radio3" size="small">
            <el-radio-button label="苹果" />
            <el-radio-button label="雪梨" />
            <el-radio-button label="菠萝" />
            <el-radio-button label="橙子" />
        </el-radio-group>
    </div>
</template>

<script lang="ts" setup>
    import { ref } from 'vue'

    const radio1 = ref('雪梨')
    const radio2 = ref('菠萝')
    const radio3 = ref('苹果')
</script>

5、带有边框

  • 设置 border 属性为 true 可以渲染为带有边框的单选框。

实现效果:

完整代码:

<template>
    <h3>Radio单选框带有边框</h3>
    <div class="mb-2 flex items-center text-sm" style="padding:5px;text-align:left;width:500px;font-size:large;">
        <p>1、Radio 单选框size="large":</p>
        <el-radio-group v-model="radio1" class="ml-4">
            <el-radio label="1" size="large" border>选项 1</el-radio>
            <el-radio label="2" size="large" border>选项 2</el-radio>
            <el-radio label="3" size="large" border>选项 3</el-radio>
            <el-radio label="4" size="large" border>选项 4</el-radio>
        </el-radio-group>
    </div>
    <div class="my-2 flex items-center text-sm" style="padding: 5px; text-align: left; width: 500px; font-size: large;">
        <p>2、Radio 单选框没有设size选项:</p>
        <el-radio-group v-model="radio2" class="ml-4">
            <el-radio label="1" border>选项 1</el-radio>
            <el-radio label="2" border>选项 2</el-radio>
            <el-radio label="3" border>选项 3</el-radio>
            <el-radio label="4" border>选项 4</el-radio>
        </el-radio-group>
    </div>
    <div class="my-4 flex items-center text-sm" style="padding: 5px; text-align: left; width: 500px; font-size: large;">
        <p>3、Radio 单选框size="small":</p>
        <el-radio-group v-model="radio3" class="ml-4">
            <el-radio label="1" size="small" border>选项 1</el-radio>
            <el-radio label="2" size="small" border>选项 2</el-radio>
            <el-radio label="3" size="small" border>选项 3</el-radio>
            <el-radio label="4" size="small" border>选项 4</el-radio>
        </el-radio-group>
    </div>
    <div class="mb-2 flex items-center text-sm" style="padding: 5px; text-align: left; width: 500px; font-size: large;">
        <p>4、Radio 单选框size="small",同时设单选框状态不可选择:</p>
        <el-radio-group v-model="radio3" disabled class="ml-4">
            <el-radio label="1" size="small" border>选项 1</el-radio>
            <el-radio label="2" size="small" border>选项 2</el-radio>
            <el-radio label="3" size="small" border>选项 3</el-radio>
            <el-radio label="4" size="small" border>选项 4</el-radio>
        </el-radio-group>
    </div>
</template>

<script lang="ts" setup>
    import { ref } from 'vue'
    const radio1 = ref('1')
    const radio2 = ref('1')
    const radio3 = ref('1')
    const radio4 = ref('1')
</script>

四、官方资料中的各参数说明

Radio API

Radio Attributes

属性名说明类型默认值
model-value / v-model选中项绑定值string / number / boolean
label单选框的值string / number / boolean
disabled是否禁用单选框booleanfalse
border是否显示边框booleanfalse
size单选框的尺寸enum
name原始 name 属性string

Radio Events

事件名说明类型
change绑定值变化时触发的事件Function

Radio Slots

插槽名说明
default自定义默认内容

RadioGroup API

RadioGroup Attributes

属性名说明类型默认值
model-value / v-model绑定值string / number / boolean
size单选框按钮或边框按钮的大小stringdefault
disabled是否禁用booleanfalse
text-color按钮形式的 Radio 激活时的文本颜色string#ffffff
fill按钮形式的 Radio 激活时的填充色和边框色string#409EFF
validate-event输入时是否触发表单的校验booleantrue
labela11y与 RadioGroup 中的 aria-label 属性相同string
name原生 name 属性string
id原生 id 属性string

RadioGroup Events

事件名说明类型
change绑定值变化时触发的事件Function

RadioGroup Slots

插槽名说明子标签
default自定义默认内容Radio / RadioButton

RadioButton API

RadioButton Attributes

属性名说明类型默认
label单选框的值string / number / boolean
disabled是否禁用单选框booleanfalse
name原生 name 属性string

RadioButton Slots

插槽名说明
default默认插槽内容

五、总结

1

Element Plus 实例详解(一)__安装设置
2Element Plus 实例详解(二)___Button 按钮
3Element Plus 实例详解(三)___Date Picker 日期选择
4Element Plus 实例详解(四)___Border 边框
5Element Plus 实例详解(五)___Scrollbar 滚动条
6Element Plus 实例详解(六)___Progress 进度条
7Element Plus 实例详解(七)___Typography 排版
8Element Plus 实例详解(八)___Radio 单选框
9Element Plus 实例详解(九)___
10Element Plus 实例详解(十)___
11Element Plus 实例详解(十一)___
12Element Plus 实例详解(十一)___

         推荐阅读:

31Element Plus 实例详解(一)___安装设置
30

​​​​

Vue3安装配置、开发环境搭建(组件安装卸载)(图文详细)
29

SVG实例详解系列(一)(svg概述、位图和矢量图区别(图解)、SVG应用实例)

28

查看jdk安装路径,在windows上实现多个java jdk的共存解决办法,安装java19后终端乱码的解决

27bba02a1c4617422c9fbccbf5325850d9.png

别具一格,原创唯美浪漫情人节表白专辑,(复制就可用)(html5,css3,svg)表白爱心代码(1)

26fea225cb9ec14b60b2d1b797dd8278a2.png

2023年春节祝福第二弹——送你一只守护兔,让它温暖每一个你【html5 css3】画会动的小兔子,炫酷充电,字体特

251f53fb9c6e8b4482813326affe6a82ff.png

2023春节祝福系列第一弹(上)(放飞祈福孔明灯,祝福大家身体健康)(附完整源代码及资源免费下载)

246176c4061c72430eb100750af6fc4d0e.png​​​​​​​

HTML+CSS+svg绘制精美彩色闪灯圣诞树,HTML+CSS+Js实时新年时间倒数倒计时(附源代码)

2317b403c4307c4141b8544d02f95ea06c.png​​​​​​​

​草莓熊python绘图(春节版,圣诞倒数雪花版)附源代码

225d409c8f397a45c986ca2af7b7e725c9.png​​​​​​​

【程序人生】卡塔尔世界杯元素python海龟绘图(附源代码),世界杯主题前端特效5个(附源码)

210a4256d5e96d4624bdca36433237080b.png​​​​​​​

python爱心源代码集锦(18款)

204d9032c9cdf54f5f9193e45e4532898c.png​​​​​​​

巴斯光年python turtle绘图__附源代码

19074cd3c255224c5aa21ff18fdc25053c.png​​​​​​​

Three.js实例详解___旋转的精灵女孩(附完整代码和资源)(一)

18daecd7067e7c45abb875fc7a1a469f23.png​​​​​​​

​草莓熊python turtle绘图代码(玫瑰花版)附源代码

17fe88b78e78694570bf2d850ce83b1f69.png​​​​​​​

立体多层玫瑰绘图源码__玫瑰花python 绘图源码集锦

16c5feeb25880d49c085b808bf4e041c86.png​​​​​​​

皮卡丘python turtle海龟绘图(电力球版)附源代码

1538266b5036414624875447abd5311e4d.png​​​​​​​

【CSDN云IDE】个人使用体验和建议(含超详细操作教程)(python、webGL方向)

1403ed644f9b1d411ba41c59e0a5bdcc61.png​​​​​​​

草莓熊python turtle绘图(风车版)附源代码

1309e08f86f127431cbfdfe395aa2f8bc9.png​​​​​​​

用代码过中秋,python海龟月饼你要不要尝一口?

1240e8b4631e2b486bab2a4ebb5bc9f410.png​​​​​​​

《 Python List 列表全实例详解系列(一)》__系列总目录、列表概念

11938bc5a8bb454a41bfe0d4185da845dc.jpeg​​​​​​​

用代码写出浪漫__合集(python、matplotlib、Matlab、java绘制爱心、玫瑰花、前端特效玫瑰、爱心)

100f09e73712d149ff90f0048a096596c6.png​​​​​​​

Python函数方法实例详解全集(更新中...)

993d65dbd09604c4a8ed2c01df0eebc38.png​​​​​​​

matplotlib 自带绘图样式效果展示速查(28种,全)

8aa17177aec9b4e5eb19b5d9675302de8.png​​​​​​​

手机屏幕坏了____怎么把里面的资料导出(18种方法)

71750390dd9da4b39938a23ab447c6fb6.jpeg​​​​​​​

2023年3月TIOBE 指数头条:编程语言 Go 进入 TIOBE 指数前 10 名,多家权威机构____编程语言排行榜__薪酬状

6dc8796ddccbf4aec98ac5d3e09001348.jpeg​​​​​​​

Python中Print()函数的用法___实例详解(全,例多)

51ab685d264ed4ae5b510dc7fbd0d1e55.jpeg​​​​​​​

色彩颜色对照表(一)(16进制、RGB、CMYK、HSV、中英文名)

480007dbf51944725bf9cf4cfc75c5a13.png​​​​​​​

Node.js (v19.1.0npm 8.19.3) vue.js安装配置教程(超详细)

3c6374d75c29942f2aa577ce9c5c2e12b.png​​​​​​​

Tomcat 启动闪退问题解决集(八大类详细)

25218ac5338014f389c21bdf1bfa1c599.png​​​​​​​

Tomcat端口配置(详细)

1fffa2098008b4dc68c00a172f67c538d.png​​​​​​​

tomcat11、tomcat10 安装配置(Windows环境)(详细图文)

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐