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

news2024/11/16 17:32:24

3.4 开发参与投票页面

3.4.3 使用radio单项选择器组件

逻辑层的数据已经准备好,现在实现视图层的页面展示。

投票的标题、,描述、截止日期、是否匿名等信息通过view和text组件就可以展示。比较特别的是投票选项的展示,涉及到单选还是多选,现在使用radio实现单选的功能,radio组件结合radio-group组件一起使用,一个radio组件代表一个选项。现在了解radio和radio-group常用属性。

radio常用属性:

value                单个radio组件的值

checked            当前是否选中

disabled            是否禁用

color                 radio颜色

radio-group常用属性:

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

现在在pages/vote/vote.wxml用radio组件实现单选投票的功能,代码如下:

<view class="container">

  <view class="title">{{voteTitle}}</view>

  <view class="desc">

    {{voteDesc}}

    <text class="multi-radio">[{{type === 'multiVote'?'多选':'单选'}}]</text>

    <text class="anonymouType">[{{isAnonymous?'匿名':'实名'}}]</text>

  </view>

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

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

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

    </view>

  </radio-group>

  <view class="end-date">

    截止日期:{{endDate}}

    <text class="expired" hidden="{{!isExpired}}">[已过期]</text>

  </view>

  <button class="btn" type="primary" disabled="{{isExpired || pickedOption.length === 0}}" bind:tap="onTapValue"> 完成</button>

</view>

这里text使用了hidden属性,是所有组件都支持的一个属性,值为boolean类型,为true时组件会被隐藏。

radio组件的value使用了数组的角标,数组是有序集合,具有唯一性,且在传输投票数据和存储数据占用的数据量小很多。

在JS文件中增加radio组件改变时的事件处理函数和确认投票时的button组件点击时的事件处理函数,代码如下:

onPickOption(e){

    // 更新选择的项

    this.setData({

      pickedOption: [

        e.detail.value

      ]

    })

  },

  onTapValue(){

    console.log("onTapValue")

    const postData = {//需要提交的数据

      voteID: this.data.voteID,

      pickedOption: this.data.pickedOption

    }

    // TODO 将postData数据上传到服务器端

  }

表单数据的提交不一定是form组件和form-type属性指定的事件处理函数,在button的点击事件处理函数也可以向服务器端提交数据。

接下来在WXSS添加样式:

/* pages/vote/vote.wxss */

.container {

  padding:30rpx;

  box-sizing: border-box;

}

.title {

  columns:#333;

  font-weight: bold;

  font-size: 20pt;  

}

.desc{

  font-size: 14pt;

  margin-top: 40rpx;

}

.multi-radio{

  margin-left: 10rpx;

  color: #09BB07;

}

.anonymouType{

  margin-left: 10rpx;

  color:#ccc;

}

.option-list{

  margin-top: 40rpx;

}

.option{

  margin-top: 10rpx;

}

.end-date{

  margin-top: 40rpx;

  font-size: 12pt;

  color:#ccc;

}

.expired{

  margin-left: 10rpx;

  color: #CE3C39;

}

.btn{

  margin-top: 40rpx;

}

当投票未过期时,预览效果如下:

当投票过期时,预览效果如下:

调试器AppData修改isExpired值可以实现过期的预览效果

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

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

相关文章

概要设计文档案例分享

1引言 1.1编写目的 1.2项目背景 1.3参考资料 2系统总体设计 2.1整体架构 2.2整体功能架构 2.3整体技术架构 2.4运行环境设计 2.5设计目标 3系统功能模块设计 3.1个人办公 4性能设计 4.1响应时间 4.2并发用户数 5接口设计 5.1接口设计原则 5.2接口实现方式 6运行设计 6.1运行模块…

Python武器库开发-前端篇之html概述(二十八)

前端篇之html概述(二十八) html概述 HTML5是构建Web内容的一种语言描述方式。HTML5是互联网的下一代标准&#xff0c;是构建以及呈现互联网内容的一种语言方式&#xff0e;被认为是互联网的核心技术之一。HTML产生于1990年&#xff0c;1997年HTML4成为互联网标准&#xff0c;…

视频剪辑新招:批量随机分割,分享精彩瞬间

随着社交媒体的普及&#xff0c;短视频已经成为分享生活、交流信息的重要方式。为制作出吸引的短视频&#xff0c;许多创作者都投入了大量的时间和精力进行剪辑。然而&#xff0c;对于一些没有剪辑经验的新手来说&#xff0c;这个过程可能会非常繁琐。现在一起来看云炫AI智剪批…

宣传技能培训2——《图片后期处理与制作》光影魔术师:一小时速成Lightroom图片后期软件 + 案例分析

图片后期处理与制作&#xff1a;从理论到实践 写在最前面背景介绍夜间拍摄及其后期捕捉瞬间更重要 深入探索Lightroom&#xff1a;提升图片处理效率与质量软件设置与优化图片处理与预览GPU加速导入图片到LightroomLightroom界面概览图片筛选与比较删除不需要的图片 Lightroom进…

C#,轻量化Json序列化、反序列化及自动格式化的组件SimpleJson源代码与使用实例(可放弃Newtonsoft.Json了)

1 JSON 的用法 C#中常用 json 保存与分享数据。其中的过程主要是&#xff1a; &#xff08;1&#xff09;程序内的 Class 或 List 或 Hashtable ... -> 序列化为 json 文件或 stream&#xff1b; &#xff08;2&#xff09;加密、传送、接收、解密、&#xff08;保存 或 不…

腾讯云发布新一代基于AMD处理器的星星海云服务器实例SA5

基础设施的硬实力&#xff0c;愈发成为云厂商的核心竞争力。 11月24日&#xff0c;腾讯云发布了全新一代星星海服务器。基于自研服务器的高密设计与硬件升级&#xff0c;对应云服务器SA5是全球首家搭载第四代AMD EPYC处理器&#xff08;Bergamo&#xff09;的公有云实例&#…

通过内网穿透本地MariaDB数据库,实现在公网环境下使用navicat图形化工具

公网远程连接MariaDB数据库【cpolar内网穿透】 文章目录 公网远程连接MariaDB数据库【cpolar内网穿透】1. 配置MariaDB数据库1.1 安装MariaDB数据库1.2 测试局域网内远程连接 2. 内网穿透2.1 创建隧道映射2.2 测试随机地址公网远程访问3. 配置固定TCP端口地址3.1 保留一个固定的…

麒麟KYSEC使用方法05-命令设置密码强度

原文链接&#xff1a;麒麟KYSEC使用方法05-命令设置密码强度 hello&#xff0c;大家好啊&#xff0c;今天给大家带来麒麟KYLINOS的kysec使用方法系列文章第五篇内容----使用命令设置密码强度&#xff0c;密码强度策略有两个文件需要修改&#xff0c;pwquality.conf/login.defs&…

利用mvnrepository找到jssc(或其他特定包)的jar包下载本地并导入JAVA项目

文章目录 一、mvnrepository下载jar包&#xff08;找到依赖&#xff09;第一步&#xff1a;进入mvnrepository第二步&#xff1a;搜索名称第三步&#xff1a;进入详情第四步&#xff1a;选择版本第五步&#xff1a;点击下载 二、jar包添加到项目操作流程成功标志 一、mvnreposi…

小学生古诗文大会复赛在线模拟新增刷题版和闯关版,帮助孩子冲刺

小学生古诗文大会明天就要开始了&#xff0c;刚刚古诗文大会主办方也正式发布了通知&#xff0c;总体安排、操作指引和我之前发布的一样&#xff1a;2023年11月25日小学生古诗文大会复选&#xff08;复赛&#xff09;答题操作手册 为了帮助参加复选&#xff08;复赛&#xff09…

Spring事务的实现方式和实现原理;事务声明的方式,Spring的事务传播行为,spring事务的实现原理

Spring事务的实现方式和实现原理 Spring事务的本质其实就是数据库对事务的支持&#xff0c;没有数据库的事务支持&#xff0c;spring是无法提供事务功能的。真正的数据库层的事务提交和回滚是通过binlog或者redo log实现的。 什么是事务 数据库事务是指作为单个逻辑工作单元执…

Tomcat注册为服务后,如何配置Tomcat内存大小

前提条件&#xff1a;tomcat已经注册为服务。 1.winR,输入regedit打开注册表 2.找到Tomcat注册表路径&#xff1a; HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Apache Software Foundation\Procrun 2.0\Tomcat80603.找到jvm内存配置路径&#xff1a; HKEY_LOCAL_MACHINE\SOFTW…

骨传导耳机的优缺点都有哪些?骨传导耳机值得入手吗?

骨传导耳机的优点还是很多的&#xff0c;相比于传统耳机&#xff0c;骨传导耳机要更值得入手&#xff01; 下面让我们了解下骨传导耳机的优缺点都有哪些&#xff1a; 一、优点 1、使用更安全 传统的耳机&#xff0c;在使用时会听不到外界的声音&#xff0c;而骨传导耳机通过…

【SpringCloud】微服务架构设计模式

一、聚合气微服务设计模式 最常见、最简单的设计模式&#xff0c;效果如图所示&#xff1a; 聚合器调用多个服务实现应用程序所需的功能 它可以是一个简单的 Web 页面&#xff0c;将检索到的数据进行处理并展示&#xff0c;也可以是一个更高层次的组合微服务&#xff0c;对…

快手ConnectionError

因为运行的程序被中断导致 top然后查看站用处内存高的accelerate kill进程号 9回车

NFC技术简介

NFC简介 NFC(近场通信&#xff0c;Near Field Communication&#xff09;是一种短距高频的无线电技术&#xff0c;由非接触式射频识别(RFID)演变而来。 NFC工作频率为13.56Hz&#xff0c;通常只有在距离不超过4厘米时才能启动连接&#xff0c;其传输速度有106 Kbit/秒、212 Kb…

IBM V5000存储报错控制器脱机节点自动恢复失败

PS&#xff1a;友情分享&#xff0c;请注意报错信息是否与本文一致。设备有价&#xff0c;数据无价&#xff0c;谨慎操作&#xff01; 报错信息&#xff1a; 存储为双控制器互相冗余&#xff0c;目前node2脱机&#xff0c;node1已承载所有业务 处理方案&#xff1a; 登录进n…

SpringBoot+SSM项目实战 苍穹外卖(1)

目录 产品原型与技术选型后端环境搭建Git版本控制IDEA中运行sql脚本文件nginx反向代理和负载均衡完善登录功能 导入接口文档SwaggerSwagger常用注解 产品原型与技术选型 管理端原型图&#xff1a; 用户端原型图&#xff1a; 餐饮企业内部员工使用。 主要功能有: 模块描述登录…

onelist能让alist聚合网盘拥有海报墙

什么是 onelist &#xff1f; onelist 是一个类似 emby 的专注于刮削 alist 聚合网盘形成影视媒体库的程序。 主要解决以下痛点&#xff1a; alist 挂载云盘后能在网页端看视频&#xff0c;却没有分类&#xff0c;没有海报墙&#xff1b;使用 webdav 挂载本地后&#xff0c;用…

马斯克星链与芯事:30亿美元炸出卫星互联网革命,GPU算力创无限可能

★卫星互联网&#xff1b;算力&#xff1b;卫星通信&#xff1b;互联网&#xff1b;低轨卫星互联网&#xff1b;5G基础设施&#xff1b;GPT-4 Turbo&#xff1b;算力&#xff1b;地面通信&#xff1b;液冷&#xff1b;水冷&#xff1b;AI服务器&#xff1b;东数西算&#xff1b…