《uni-app》表单组件-Checkbox组件

这篇具有很好参考价值的文章主要介绍了《uni-app》表单组件-Checkbox组件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

uniapp checkbox,小程序的入门与精通,uni-app,ui,移动开发,checkbox,小程序

本文分享的checkbox组件为uni-app的内置组件checkbox,非扩展组件,两者在用法上其实大同小异,只是扩展组件的属性以及事件更多…没有本质上的区别~

一. 简介

Checkbox,复选框,图形化界面基础组件之一,常用于复选多个选项时的业务场景,如问卷调查业务场景中的多项选择题等;

二. 基础用法

基础用法如下:

<checkbox />篮球

在基础用法下,uni-app将 启用一组内置在checkbox组件内部的默认参数(包括颜色,勾选状态,禁用状态等等),其表现形态 效果图 如下:
uniapp checkbox,小程序的入门与精通,uni-app,ui,移动开发,checkbox,小程序
这种用法无法正常应用于实际的业务场景,原因是因为 复选框往往是成组的形式出现,哪怕这一组有且只有一个复选框选项;为了引入组的概念,因此除了 checkbox标签 之外,还额外提供了一个新的标签 checkbox-group标签,基本用法如下:

<checkbox-group>
  <checkbox />
  篮球
  <checkbox />
  足球
  <checkbox />
  网球
</checkbox-group>

其表现形态 效果图 如下:
uniapp checkbox,小程序的入门与精通,uni-app,ui,移动开发,checkbox,小程序

通过 checkbox-group标签 的框定,使得checkbox被分为了一组~

三. value属性

value属性,用于代表checkbox的标识,什么是标识,简单的说就是内置在checkbox上用于被系统或者代码识别的值,这个值具有唯一性,说明如下

参数 说明 类型 默认值
value checkbox的标识,通过事件change可获得 String

代码示例如下:

<checkbox-group>
  <checkbox value="bb" />篮球
  <checkbox value="fb" />足球
  <checkbox value="wb" />网球
</checkbox-group>

对于 标识 可能还是有小伙伴不大明白,那就再换一个说法,一个正常的checkbox往往会存在两个值:

  • 一个用于 显示在用户UI界面的显示值,比如示例中的:篮球,足球,网球等显示文字,这类显示值的 长度长短不一,毕竟 选项的内容具有不确定性,在如问卷调查类型的业务场景中,往往有的复选框值会非常长;
  • 另外一个是 内置在checkbox的标识,这类值代表着这个复选框在系统内部或者说在 代码层面上的可识别值,这个值会被用来运算,逻辑处理等等操作,并且这个值是具有 唯一性 的;

如果值没有被区分或者干脆就没有内部的标识,试想一下,假设需要显示的值非常长,甚至是文章中的一整个段落,难道将这个段落一直在代码中进行逻辑运算吗,显然这是不合理的

<checkbox-group>
  <checkbox value="这是一个关于篮球文章的段落,假设锻炼有100个汉字" />这是一个关于篮球文章的段落,假设锻炼有100个汉字
  <checkbox value="这是一个关于足球文章的段落,假设锻炼有500个汉字" />这是一个关于足球文章的段落,假设锻炼有500个汉字
  <checkbox value="这是一个关于网球文章的段落,假设锻炼有50个汉字" />这是一个关于网球文章的段落,假设锻炼有50个汉字
</checkbox-group>

四. disabled禁用属性

disabled属性,用于控制checkbox是否可选中或取消选中,当复选框处于disabled状态下时,复选框的形态将 置灰 且用户 不可再进行选中/取消选中操作

参数 说明 类型 默认值
disabled 当前复选框是否禁用 Boolean false

代码示例如下:

<!-- disabled禁用属性 -->
<checkbox-group>
  <checkbox :disabled="true" />
  篮球
  <checkbox disabled />
  足球
  <checkbox />
  网球
</checkbox-group>

其表现形态展示的 效果图 如下:
uniapp checkbox,小程序的入门与精通,uni-app,ui,移动开发,checkbox,小程序

五. checked选中属性

checked属性,用于控制复选框是否处于选中状态,当复选框处于 :checked="true" 值时,复选框将默认选中,参数说明如下:

参数 说明 类型 默认值
checked 当前是否选中,可用来设置默认选中 Boolean false

演示代码如下:

<!-- checked禁用属性 -->
<checkbox-group>
  <checkbox :checked="true" />
  篮球
  <checkbox checked />
  足球
  <checkbox />
  网球
</checkbox-group>

其表现形态展示的 效果图 如下:
uniapp checkbox,小程序的入门与精通,uni-app,ui,移动开发,checkbox,小程序

六. color颜色属性

6.1 说明

color属性,用于控制复选框内部选中时勾形图标的颜色,参数说明如下:

参数 说明 类型 默认值
color checkbox的颜色,同css的color String

不同的 color值将直接作用于勾形图标的颜色,另外,由于color属性 等同与CSS的color,因此值可以是具体的 颜色色号rgb 以及 rgba,示例代码如下:

<!-- color颜色属性 -->
<checkbox-group>
  <checkbox checked color="#FFCC33" />
  篮球
  <checkbox checked color="red" />
  足球
  <checkbox checked color="rgba(0,0,0,1)" />
  网球
  <checkbox checked color="rgb(0,0,0)" />
  乒乓球
</checkbox-group>

其表现形态 效果图 如下:
uniapp checkbox,小程序的入门与精通,uni-app,ui,移动开发,checkbox,小程序
我们在基础用法中有一个 不带任何参数的示例,虽然使用时不带任何参数,但在组件内部color色其实是有 默认值 的,这个默认值跟随平台而定;

6.2 平台差异

我们知道uni-app是一个跨平台的解决方案,因此 某些属性在编译后存在一定的平台差异,在没有任何颜色设定的情况下,复选框的选中颜色有所区别,颜色会跟随系统平台的默认值而定,具体如下:

微信小程序、360小程序 App、H5、百度小程序、支付宝小程序、飞书小程序、快应用、QQ小程序 字节跳动小程序
绿色 蓝色 红色

也就是说,我们在uni-app中不为checkbox设定color属性,那么选中的颜色在 微信小程序 中会显示成 绿色,在 支付宝小程序 会显示成 蓝色,在 字节跳动小程序 中会显示成 红色,如果想保证所有平台的显示一致,可以在代码中手动指定 color属性的值

七. 事件

在uni-app中的事件机制完全遵循于Vue的语法,那么理所当然的checkbox的事件也遵循Vue的语法,checkbox提供了一个 change事件注意该事件绑定的位置在 checkbox-group 上,毕竟只有在 checkbox-group 上才可以获取到这一组checkbox上的值 ,这个事件带一个默认参数,参数的值为当前的事件参数集合,说明如下:

属性名 类型 默认值 说明
@change EventHandle 中选中项发生改变是触发 change 事件,detail = {value:[选中的checkbox的value的数组]}

示例代码如下:

<template>
	<view class="checkbox-conatiner">
		<!-- change事件 -->
		<view class="checkbox-group">
			<h4>change事件</h4>
			<!-- change事件 -->
			<checkbox-group @change="handleChange">
				<checkbox value="bb" color="#FFCC33" />
				篮球
				<checkbox value="fb" color="red" />
				足球
				<checkbox value="wb" color="rgba(0,0,0,1)" />
				网球
			</checkbox-group>
			<div>当前选中项的value值为:{{ value }}</div>
		</view>
	</view>
</template>

<script>
export default {
	data() {
		return {
			value: ''
		};
	},
	methods: {
		handleChange(e) {
			this.value = e.detail.value.join(';');
		}
	}
};
</script>

其表现形态 效果图 如下:
uniapp checkbox,小程序的入门与精通,uni-app,ui,移动开发,checkbox,小程序

从效果图中可以看出,checkbox选中与取消选中时都会触发 checkbox-group 上的change事件,实际业务开发中可以在change事件中进行业务处理;

八. demo示例演示

本节期望通过一个具体的示例来更加清晰的描述checkbox的用法,demo实现的功能大致如下:从data中取到checkbox的list,使用v-for指令动态生成checkbox,之后使用button获取到checkbox选中项的值
第一步:使用v-for动态生成checkbox列表;

<!-- demo示例 -->
<checkbox-group>
  <checkbox v-for="item in list" :key="item.value" :value="item.value">
    {{ item.title }}
  </checkbox>
</checkbox-group>

<script>
export default {
	data() {
		return {
			list: [
				{
					title: '篮球',
					value: 'bb'
				},
				{
					title: '足球',
					value: 'fb'
				},
				{
					title: '网球',
					value: 'wb'
				}
			],
		};
	},
};
</script>

其表现形态 效果图 如下:
uniapp checkbox,小程序的入门与精通,uni-app,ui,移动开发,checkbox,小程序

第二步:绑定change事件,获得选中/未选中时对于的value值;

<template>
	<view class="checkbox-conatiner">
		<!-- demo示例 -->
			<checkbox-group @change="handleChange">
				<checkbox v-for="item in list" :key="item.value" :value="item.value">
          {{ item.title }}
        </checkbox>
			</checkbox-group>
	</view>
</template>

<script>
export default {
	data() {
		return {
			list: [
				{
					title: '篮球',
					value: 'bb'
				},
				{
					title: '足球',
					value: 'fb'
				},
				{
					title: '网球',
					value: 'wb'
				}
			],
			value: ''
		};
	},
	methods: {
		handleChange(e) {
			this.value = e.detail.value;
		}
	}
};
</script>

第三步:添加按钮,并为按钮添加点击事件,在点击事件汇总获取选中值;

<!-- demo示例 -->
<checkbox-group @change="handleChange">
  <checkbox v-for="item in list" :value="item.value" :key="item.value">
    {{ item.title }}
  </checkbox>
</checkbox-group>

<button @click="handleClick">获取选中值</button>

<script>
export default {
	data() {
		return {
			list: [
				{
					title: '篮球',
					value: 'bb'
				},
				{
					title: '足球',
					value: 'fb'
				},
				{
					title: '网球',
					value: 'wb'
				}
			],
			value: ''
		};
	},
	methods: {
		handleChange(e) {
			this.value = e.detail.value;
		},
		handleClick() {
			alert(this.value.join(';'));
		}
	}
};
</script>

其表现形态 效果图 如下:
uniapp checkbox,小程序的入门与精通,uni-app,ui,移动开发,checkbox,小程序

九. 小结

本文主要分享了uni-app中内置组件checkbox的一些用法,主要包括 属性如value属性,禁用属性,选中属性等,以及checkbox提供的默认事件change的使用,最后示例了一个结合v-for指令,button组件完成了一个动态生成checkbox并获取选中值的示例demo;
我们知道checkbox同样是图形化界面中的基石之一,尤其是在一些表单控件的操作界面上,它与输入框,单选框等表单组件的使用频率非常高;

(PS:都已经看到这里了,点个赞,求个关注吧,万分感谢~)文章来源地址https://www.toymoban.com/news/detail-779668.html

到了这里,关于《uni-app》表单组件-Checkbox组件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • uni-app表单组件

    common-form.vue actionList.vue comImage.vue number.vue

    2024年02月16日
    浏览(37)
  • 小白开发微信小程序10--表单组件之checkbox-group/radio-group/label

    微信团队为开发者提供了一系列基础组件,开发者可以通过组合这些基础组件进行快速开发。小程序中的组件也是非常丰富的,开发者可以基于组件快速搭建出漂亮的页面结构。小程序中的组件其实相当于网页中的HTML标签,只不过标签名字不一样。官方把小程序的组件分为了

    2024年02月04日
    浏览(36)
  • 《uni-app》表单组件-Button按钮

    本文分享的button组件为uni-app的内置组件button,非扩展组件,两者在用法上其实大同小异,只是扩展组件的属性更多…没有本质上的区别~ Button,按钮,图形化界面基础组件之一,常用于响应用户的点击事件、触发业务逻辑操作时使用; 按钮基础用法如下: 在基础用法下,

    2024年02月02日
    浏览(36)
  • uni-app:vue3 + uni-app 在微信小程序中无法使用app.component全局注册组件

    按上文中的代码执行后,会发现在微信小程序开发中全局注册的组件是无法显示的,这是uniapp的一个未解决bug, 在uniapp中出了可以通过vue实例的component方法注册全局组件外,uniapp支持另一种全局注册的方式,就是通过 easycom 扫描注册,步骤如下 easycom 的扫描流程是:通过代码

    2024年02月16日
    浏览(72)
  • 微信小程序修改原生组件样式(uni-app)

    微信小程序修改原生组件样式 全局修改,直接将修改的样式写在全局的样式文件中; 特殊情况:修改swiper指示点样式时,需要包裹在swiper的样式选择器下才生效。 直接将下列代码放在全局样式中是不会生效的,需要加上swiper组件的元素选择器或swiper组件的其他样式名也可。

    2024年02月05日
    浏览(56)
  • uniapp做微信小程序,自定义checkbox和radio的样式

    用uniapp做个微信小程序,其中有用到自定义checkbox和radio的样式;代码记录如下: 自定义checkbox 在App.vue中写入样式: 在代码中引用: 自定义radio样式: 如果要全局改变radio的样式,需要将样式代码写在App.vue中,代码如下: 代码中引用: 如果不在全局改变radio样式,只在单个

    2024年02月15日
    浏览(33)
  • uni-app小程序父组件数据更新,实现自定义组件刷新视图

    之前错误的思路 新思路(忽略我的参数命名,写文章的时候方便。)

    2024年02月16日
    浏览(39)
  • #微信小程序# #uni-app# 实现提交表单或登录,需勾选同意协议,才可以进行下一步

    一、需求: 实现提交表单或登录,需勾选同意协议,才可以进行下一步 二、步骤/思路: (1)使用uni-app的组件checkbox-group排出勾选协议版面   (2)设置一个多选框的数组,绑定在u-checkbox-group里, 使用这个数组来进行判断是否勾选了用户协议 (3)设置点击事件toBngling(),写

    2024年02月12日
    浏览(45)
  • uni-app小程序实现音频播放,uniapp播放录音,uniapp简单实现播放录音

    复制到.vue文件即可预览效果 问题 :开发者工具中.onTimeUpdate方法可能会失效! 官方参考:https://uniapp.dcloud.net.cn/api/media/audio-context.html# 其他博客参考:https://blog.csdn.net/weixin_45328705/article/details/114091301 录音实现参考 :https://blog.csdn.net/weixin_43992507/article/details/129857780

    2024年02月12日
    浏览(43)
  • uni-app 微信小程序:启用组件按需注入

    https://developers.weixin.qq.com/miniprogram/dev/framework/ability/lazyload.html 基础库 2.11.1 及以上版本支持,2.11.1 以下兼容但无优化效果。 工具调试请使用 1.05.2111300 及以上版本,基础库选 2.20.1 及以上版本。 通常情况下,在小程序启动时,启动页面依赖的所有代码包(主包、分包、插件包

    2024年02月16日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包