新闻详情

新闻详情

首页 / 资讯中心 / 详情

微信小程序案例 4.2 checkbox 与 radio 组件:动态控制字体样式

发布时间:2026/9/30 11:54:22来源:尧图网络
微信小程序案例 4.2 checkbox 与 radio 组件:动态控制字体样式
一、案例简介本案例是微信小程序选择类组件的实战练习综合运用了checkbox/checkbox-group多选和radio/radio-group单选两套组件。页面上方是一段示例文字下方有两组选项一组checkbox可多选分别控制文字是否加粗、斜体、下划线一组radio单选用于设置文字的字号大小。勾选或切换选项时上方示例文字的样式会实时变化。本次作业在基础案例之上在 radio 组里额外增加了一个「30rpx」选项选中后文字字号随之变为 30rpx。二、学习知识点表格知识点作用说明checkbox-group多选框容器必须把多个checkbox包在里面才能触发bindchangecheckbox单个多选框value是选中时的值radio-group单选框容器包裹多个radio通过bindchange监听选中radio单个单选框同组内互斥checkboxChange多选回调e.detail.value是选中值组成的数组radioChange单选回调e.detail.value是单个选中值动态样式绑定在style中用{{}}三元表达式根据数据实时切换样式关键区别checkbox 取到的是数组可多选radio 取到的是单值互斥单选。三、开发步骤新建不使用云服务、不使用模板的小程序项目。在index.wxml编写示例文字其style用数据动态绑定字体粗细、斜体、下划线、字号。用checkbox-group包裹三个checkbox加粗 / 斜体 / 下划线绑定checkboxChange。用radio-group包裹若干radio30 / 40 / 50 / 60rpx绑定radioChange。在index.js中维护isBold / isItalic / isUnderline / fontSize四个数据。勾选 checkbox 时更新三个布尔值切换 radio 时更新字号。编写样式编译预览测试。四、核心代码1. 页面结构index.wxmlview classcontainer view classtitle字体样式预览/view !-- 示例文字样式动态绑定 -- view classcontent stylefont-weight:{{isBold ? bold : normal}}; font-style:{{isItalic ? italic : normal}}; text-decoration:{{isUnderline ? underline : none}}; font-size:{{fontSize}}rpx; 这是一段用于演示字体样式和字号的示例文字。 /view !-- 多选字体样式 -- checkbox-group bindchangecheckboxChange labelcheckbox valuebold /加粗/label labelcheckbox valueitalic /斜体/label labelcheckbox valueunderline /下划线/label /checkbox-group !-- 单选字体大小作业新增 30rpx 选项 -- radio-group bindchangeradioChange labelradio value30 /30rpx/label labelradio value40 /40rpx/label labelradio value50 /50rpx/label labelradio value60 /60rpx/label /radio-group /view2. 逻辑index.jsPage({ data: { isBold: false, // 加粗 isItalic: false, // 斜体 isUnderline: false, // 下划线 fontSize: 40 // 字号默认 40rpx }, // 多选e.detail.value 是数组 checkboxChange(e) { const values e.detail.value this.setData({ isBold: values.indexOf(bold) -1, isItalic: values.indexOf(italic) -1, isUnderline: values.indexOf(underline) -1 }) }, // 单选e.detail.value 是单个值 radioChange(e) { this.setData({ fontSize: e.detail.value }) } })3. 样式index.wxss.container { padding: 40rpx; } .content { background: #fff; border-radius: 12rpx; padding: 30rpx; line-height: 1.8; }五、遇到的问题与解决方案问题 1单独放一个 checkbox /radio 不触发事件。原因小程序要求选择项必须放在checkbox-group/radio-group容器里。 解决用checkbox-group包裹所有 checkbox用radio-group包裹所有 radio。问题 2checkbox 取到的值判断不准。原因误以为e.detail.value是单个值实际它是数组。 解决用indexOf(xxx) -1判断某项是否被勾选。问题 3字号切换没反应。原因e.detail.value是字符串30直接当数字用会有隐患。 解决在 style 里用{{fontSize}}rpx拼接字符串30拼上rpx同样生效。六、运行效果初始文字为 40rpx、常规样式勾选「加粗」「斜体」「下划线」文字实时变粗、变斜、加下划线可组合选择「30rpx / 40rpx / 50rpx / 60rpx」文字大小随之变化互斥单选作业要求的「30rpx」选项已加入并生效。七、案例总结通过本案例掌握了checkbox-group多选与radio-group单选的用法理解了两者事件回调中数组与单值的区别并学会了在 WXML 中用style{{}}做动态样式绑定从而实现选择项实时驱动界面变化。新增的 30rpx 选项加深了对 radio 单选数据流的理解。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

Amphenol LTW RCP5UM-UPG06M-TL7A01工业RJ45线缆解析 2026/9/30 12:39:08

Amphenol LTW RCP5UM-UPG06M-TL7A01工业RJ45线缆解析

一、RCP5UM-UPG06M-TL7A01是什么类型的线缆组件? 在工业以太网设备、自动化控制系统、通信终端和各种模块化设备中,RJ45线缆组件承担着设备之间的数据连接任务。Amphenol LTW的RCP5UM-UPG06M-TL7A01是一款典型的工业环境RJ45成品线缆,采用8P8…

阅读更多 →
千问办公 × AgentBridge:连接企业数据,让智能分析触手可及 2026/9/30 12:39:08

千问办公 × AgentBridge:连接企业数据,让智能分析触手可及

在 2026 云栖大会 AI 实时数据智能论坛上,千问办公联合 AgentBridge 正式发布“数据分析专家”套件——业务人员用自然语言,即可安全调用企业多源数据,得到一份经过分析与复核、可直接交付的报告。“这周退单为什么增加了?”周会上…

阅读更多 →
【Python数据分析利器】Pandas从入门到实战:核心数据结构DataFrame与Series全解析 2026/9/30 12:39:01

【Python数据分析利器】Pandas从入门到实战:核心数据结构DataFrame与Series全解析

在数据科学和大数据开发领域,Pandas 无疑是最璀璨的明星工具之一。它底层基于 NumPy 构建,提供了高性能、易用的数据结构和丰富的数据分析函数,极大地简化了数据清洗、转换与统计分析的开发流程。 官方网站:https://pandas.pydat…

阅读更多 →
连锁酒店怎么统一管理?集团管控系统功能解析 2026/9/30 12:39:01

连锁酒店怎么统一管理?集团管控系统功能解析

连锁酒店统一管理的核心在于部署一套支持多门店集中管控的信息化平台,通过统一采购、统一权限、统一报表和跨店客史共享,实现集团层面的标准化运营。以瑞通酒店管理系统为例,其集团连锁管控模块正是为这一需求而设计,帮助连锁酒店…

阅读更多 →
基于SpringBoot+Vue+MySQL的党员教育管理系统设计与实现 2026/9/30 12:38:54

基于SpringBoot+Vue+MySQL的党员教育管理系统设计与实现

毕业设计做管理系统的,十个里有八个逃不开“增删改查”这四个字。但同样是CRUD,有的题目能顺利过审还拿高分,有的却让导师一眼看穿工作量不足。这次要聊的这个项目——基于SpringBootVueMySQL的党员教育和管理系统平台,属于那种“…

阅读更多 →
Paperclip协议:AI原生应用的轻量级HTTP-SSE通信标准 2026/9/30 12:38:54

Paperclip协议:AI原生应用的轻量级HTTP-SSE通信标准

1. “Paperclip”不是回形针:它是一套面向AI原生应用的轻量级协议栈 你搜“paperclip”,第一反应可能是办公桌抽屉里那枚银色回形针——但最近半年,在Node.js、React和OpenClaw相关的技术讨论区,“paperclip”出现的频率&#xff…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉