《微信小程序开发从入门到实战》学习二十九

news2024/12/23 5:14:25

3.4 开发参与投票页面

3.4.4 使用label组件扩大单击区域

radio组件的单击区域很小,只有文字左侧的圆圈可以点击,实际使用者一般会期望点击文字也可以选中选项,用label组件包含radio组件,就可以实现点击文字也可以选项。

label组件内部可以包含switch、button、radio和checkbox这几种组件,cheeckbox是多选组件。

使用label组件扩大单击区域代码如下:

    <view class="option" wx:for="{{optionList}}" wx:key="index">

      <label>

        <checkbox value="{{index}}" disabled="{{isExpired}}">{{item}}</checkbox>

      </label>

    </view>

3.4.5 wx:if添加渲染

如何跟据不同的情况在页面使用不同的组件?通过wx:if条件渲染实现该 单选投票时使用radio组件,该多选投票时使用checkbox组件。

它的使用示例如下:

<view wx:if="condition">This will be displayed if condition is true</view>

<view wx:if="{{num > 0}}">The num is greater than 0</view>

<view wx:elif="{{num < 0}}">The num is less than 0</view>

<view wx:else>The num is 0</view>

之前看到if就意识到它怎么用。但书中角度还挺不一样的。

从名称角度来看wx:if和wx:for属性相似,但实现的是不同的功能。wx:if属性值是boolean类型,为true才会被渲染,wx:for属性值是array类型,每项内容都会被渲染。

从功能性和hidden属性相似,但使用场景,实现原理不同。hidden组件往往控制一个组件显示隐藏它控制组件永远会被渲染只是简单的显示和隐藏。wx:if是和wx:elif、wx:else结合使用,实现多个分支的条件渲染。可以控制组件是否被渲染。

3.4.6 使用checkbox多项选择器组件

checkbox组件和check-group组件结合使用,checkbox和radio组件很像,checkbox常用属性如下:

checkbox常用属性:

value                单个checkbox组件的值

checked            当前是否选中

disabled            是否禁用

color                 checkbox颜色

checkbox-group常用属性:

bindchange                内部checkbox选项改变时触发的事件处理函数,可以通过event.detail.value获取到选中的checkbox组件的值

修改WXML投票部分代码,添加多选组件,修改单选组件,相关代码如下:

  <checkbox-group wx:if="{{type === 'multiVote'}}" class="option-list" bindchange="onPickOption">

    <view class="option" wx:for="{{optionList}}" wx:key="index">

      <label>

        <checkbox value="{{index}}" disabled="{{isExpired}}">{{item}}</checkbox>

      </label>

    </view>

  </checkbox-group>

  <radio-group wx:else class="option-list" bindchange="onPickOption">

    <view class="option" wx:for="{{optionList}}" wx:key="index">

      <label>

        <radio value="{{index}}" disabled="{{isExpired}}">{{item}}</radio>

      </label>

    </view>

  </radio-group>

另外修改JS中的事件处理函数onPickOption,增加多选投票代码,修改单选投票,代码如下:

  onPickOption(e){

    if(this.data.type === 'multiVote'){

      //更新选择的选项(多选投票)

      this.setData({

        pickedOption: e.detail.value //checkbox-group 获取的值是一个array

      })

    }else {

      //更新选择的选项(多选投票)

      this.setData({

        pickedOption: [ //为了与多选投票统一,使用数组保存选择的选项

          e.detail.value //radio-gruop获取的值是一个string

        ]

      })

    }

修改AppData中的type值为multiVote,在模拟器中看到多选组件,预览效果如下:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1252233.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于WSL2+Docker+VScode搭建机器学习(深度学习)开发环境

基于WSL2DockerVScode搭建机器学习(深度学习)开发环境 内容概述&#xff1a;由于最近配发了新的工作电脑但不想装双系统&#xff0c;因此通过本博文来记录基于Windows子系统WSLDocker搭建机器学习与深度学习开发环境的流程步骤&#xff0c;同时记录该过程中所遇到的相关问题及解…

上新!2023年汉字小达人市级比赛在线模拟题增加2个刷题试卷

各位小学三年级到五年级的上海学霸孩子们&#xff0c;刚刚结束了上海小学生古诗文大会的复赛&#xff0c;就紧锣密鼓地全身心投入到上海小学生汉字小达人的市级比赛的备赛中了。 为了助各位孩子一臂之力&#xff0c;我把在线模拟题进行了更新&#xff0c;新增了两个可以刷题的试…

安卓用SQLite数据库存储数据

什么是SQLite&#xff1f; SQLite是安卓中的轻量级内置数据库&#xff0c;不需要设置用户名和密码就可以使用。资源占用较少&#xff0c;运算速度也比较快。 SQLite支持&#xff1a;null&#xff08;空&#xff09;、integer&#xff08;整形&#xff09;、real&#xff08;小…

深度学习第二天:RNN循环神经网络

☁️主页 Nowl &#x1f525;专栏《机器学习实战》 《机器学习》 &#x1f4d1;君子坐而论道&#xff0c;少年起而行之 文章目录 介绍 记忆功能对比展现 任务描述 导入库 处理数据 前馈神经网络 循环神经网络 编译与训练模型 模型预测 可能的问题 梯度消失 梯…

开源称重系统-有源代码

最近发现网上有个不错的开源称重软件&#xff0c;界面做的非常漂亮&#xff0c;收藏一下&#xff1b;还有硬件对接&#xff1a;耀华A9仪表、海康威视监控&#xff0c;IC卡读卡器&#xff0c;控制器对接都有&#xff0c;是个不错的软件&#xff0c;非常感谢作者分享&#xff1b;…

Day45:300.最长递增子序列、674. 最长连续递增序列、718. 最长重复子数组

文章目录 300.最长递增子序列思路代码实现 674. 最长连续递增序列思路代码实现 718. 最长重复子数组思路代码实现 300.最长递增子序列 题目链接 思路 单个字符都是一个长为1的子序列&#xff0c;直接初始化dp为1。先固定一个元素位置i&#xff0c;判断0-i范围内到i的最长子序…

十六、互斥量

互斥量的目的就是为了实现互斥访问。 1、概述 (1)举例说明&#xff1a; 怎么独享厕所&#xff1f;自己开门上锁&#xff0c;完事了自己开锁。 你当然可以进去后&#xff0c;让别人帮你把门&#xff1a;但是&#xff0c;命运就掌握在别人手上了。 …

分享一篇很久以前的文档-VMware Vsphere菜鸟篇

PS&#xff1a;由于内容是很久以前做的记录&#xff0c;在整理过程中发现了一些问题&#xff0c;简单修改后分享给大家。首先ESXI节点和win7均运行在VMware Workstation上面&#xff0c;属于是最底层&#xff0c;而新创建的CentOS则是嵌套后创建的操作系统&#xff0c;这点希望…

得物面试:MySQL为何需要4M来双写?为什么redo不双写?

尼恩说在前面 在40岁老架构师 尼恩的读者交流群(50)中&#xff0c;最近有小伙伴拿到了一线互联网企业如得物、阿里、滴滴、极兔、有赞、shein 希音、百度、网易的面试资格&#xff0c;遇到很多很重要的面试题&#xff1a; MySQL为何需要4M来双写&#xff1f;为什么redo不双写&…

count=0语句的位置

简洁一点的代码&#xff1a; 像count0这种语句要注意放好位置&#xff0c;尤其是在循环里。

2017年3月24日 Go生态洞察:HTTP/2服务器推送技术深度解析

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…

操作无法完成错误0x0000709的解决办法,解决0x0000709错误

操作无法完成错误0x0000709是一种常见的Windows错误。这篇文章将带大家了解错误的原因&#xff0c;并提供一些解决该问题的方法&#xff0c;希望能够帮助大家解决0x0000709错误问题。 操作系统错误是我们在使用电脑时经常遇到的问题之一。其中之一就是操作无法完成错误0x000070…

ethernet II 的故事

以太帧有很多种类型。不同类型的帧具有不同的格式和MTU值。但在同种物理媒体上都可同时存在。 以太网第二版或者称之为Ethernet II 帧&#xff0c;DIX帧&#xff0c;是最常见的帧类型。并通常直接被IP协议使用。 格式 当数据帧到达网卡时&#xff0c;网卡要先去掉前导码&#…

安卓系统修图软件(一)

平时我们会不时在朋友圈发自己的自拍照&#xff0c;或者是风景图等&#xff0c;许多小伙伴们此时会对照片进行一定的修理&#xff0c;比如添加滤镜等操作。在电脑上用ps修图比较繁琐&#xff0c;日常中大可不必用这把宰牛刀&#xff1b;而手机自带的编辑器&#xff0c;或者是QQ…

位图及有关海量数据处理

bitset 1.给40亿个不重复的无符号整数&#xff0c;没排过序&#xff0c;给一个无符号整数&#xff0c;如何快速判断一个数是否在这40亿个中 ①.如果用排序加二分查找&#xff0c;40亿个数需要16g内存&#xff0c;内存开不出这么大连续空间 ②.每个值映射一个比特位&#xff0c;…

【Linux】进程间通信——system V共享内存、共享内存的概念、共享内存函数、system V消息队列、信号量

文章目录 进程间通信1.system V共享内存1.1共享内存原理1.2共享内存数据结构1.3共享内存函数 2.system V消息队列2.1消息队列原理 3.system V信号量3.1信号量原理3.2进程互斥 4.共享内存的使用示例 进程间通信 1.system V共享内存 1.1共享内存原理 共享内存区是最快的IPC形式…

图形编辑器开发:缩放和旋转控制点

大家好&#xff0c;我是前端西瓜哥。好久没写图形编辑器开发的文章了。 今天来讲讲控制点。它是图形编辑器的不可缺少的基础功能。 控制点是吸附在图形上的一些小矩形和圆形点击区域&#xff0c;在控制点上拖拽鼠标&#xff0c;能够实时对被选中进行属性的更新。 比如使用旋…

python_接口自动化测试框架

&#x1f4e2;专注于分享软件测试干货内容&#xff0c;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01;&#x1f4e2;交流讨论&#xff1a;欢迎加入我们一起学习&#xff01;&#x1f4e2;资源分享&#xff1a;耗时200小时精选的「软件测试」资…

基于springBoot+Vue的停车管理系统

开发环境 IDEA JDK1.8 MySQL8.0Node 系统简介 本项目为前后端分离项目&#xff0c;前端使用vue&#xff0c;后端使用SpringBoot开发&#xff0c;主要的功能有用户管理&#xff0c;停车场管理&#xff0c;充值收费&#xff0c;用户可以注册登录系统&#xff0c;自主充值和预…

论文阅读——Prophet(cvpr2023)

一、Framework 这个模型分为两阶段&#xff1a;一是答案启发生成阶段&#xff08;answer heuristics generation stage&#xff09;&#xff0c;即在一个基于知识的VQA数据集上训练一个普通的VQA模型&#xff0c;产生两种类型的答案启发&#xff0c;答案候选列表和答案例子&am…