返回顶部
首页 > 资讯 > 前端开发 > JavaScript >微信小程序单选框组应用详解
  • 441
分享到

微信小程序单选框组应用详解

2024-04-02 19:04:59 441人浏览 八月长安
摘要

本文实例为大家分享了微信小程序单选框组应用的具体代码,供大家参考,具体内容如下 需求概述 有一个核选项数组,里面存放着核选项名称、内容、ID、选择状态。选择状态有未选择、符合、不符合

本文实例为大家分享了微信小程序单选框组应用的具体代码,供大家参考,具体内容如下

需求概述

有一个核选项数组,里面存放着核选项名称、内容、ID、选择状态。选择状态有未选择、符合、不符合三种,默认全部为未选择。通过wx:for将数组渲染到页面,每个核选项都有两个单选按钮,分别是符合和不符合按钮,点击对应按钮会将改变对应那条元素中的选择状态的值,且点击不符合时,会显示出一个文本域,让用户输入不符合原因。

页面最下面有一个提交按钮,点击时会遍历核选项数组,若有选择状态为未选择的项,则无法提交,并提醒。

效果图如下

直接上代码

wxml文件

<block wx:for="{{SmallItem}}" wx:key="itemID">
    <view class="SmallItemView">
        <view class="infoView">
            <!-- 核选项的基本信息,例如名称、内容 -->
            <view class="SmallItemName">
                <label for="">核选项名称:</label>
                <text>{{item.itemName}}</text>
            </view>
            <view class="SmallItemContent" >
                <label for="">核选项内容:</label>
                {{item.itemContent}}
            </view>
        </view>
        <view class="reasonView" hidden="{{item.AccordWith=='不符合'?false:true}}">
            <!-- 不符合的时候显示的文本域 -->
            <textarea placeholder="请输入不符合原因" 
                      maxlength="-1" 
                      bindblur="inputChange"
                      data-index="{{index}}">
            </textarea>
        </view>
        <view class="counterView">
            第{{index+1}}项/共{{SmallItem.length}}项
        </view>
        <view class="radioView">
            <!-- 核选项的单选框 -->
            <radio-group bindchange="radiochange" data-index="{{index}}">
                <radio value="符合">符合</radio>  <!--前面有两个中文全角空格-->
                <radio value="不符合">不符合</radio>
            </radio-group>
        </view>
    </view>
</block>
<button type="default" class="SubmitBtn" bind:tap="HXXSubmit">提交</button>

wxss文件

.SmallItemView {
    background-color: rgba(169, 169, 169, 0.329);
    padding: 5px;
    margin: 3px;
    border-radius: 3px;
    margin-bottom: 10px;
    
}

.infoView {
    margin-bottom: 5px;
}

.SmallItemName {
    
    background-color: white;
    margin-bottom: 2px;
    border-radius: 3px;
    padding: 2px;
}

.SmallItemName>label {
    display: block;
    font-weight: bold;
}

.SmallItemContent {
    
    background-color: white;
    margin-bottom: 2px;
    border-radius: 3px;
    padding: 2px;
}

.SmallItemContent>label {
    display: block;
    font-weight: bold;
}

.reasonView {
    
    background-color: white;
    padding: 2px;
    border-radius: 3px;
    margin-bottom: 3px;
}

.radioView {                                                              
    text-align: center;
}

.counterView {
    text-align: center;
    font-size: x-small;
    background-color: white;
    margin-bottom: 5px;
}

.SubmitBtn {
    
    width: 90% !important;
    margin: 5px 10px;
}

js文件

// pages/RadioDemo/RadioDemo.js
Page({
    data: {
        SmallItem: [
            { itemID: "1", itemName: "核选项1", itemType: "核选项", itemContent: "核选项内容1", AccordWith: "未选", textareaContent: "" },
            { itemID: "2", itemName: "核选项2", itemType: "核选项", itemContent: "核选项内容2", AccordWith: "未选", textareaContent: "" },
            { itemID: "3", itemName: "核选项3", itemType: "核选项", itemContent: "核选项内容3", AccordWith: "未选", textareaContent: "" },
            { itemID: "4", itemName: "核选项4", itemType: "核选项", itemContent: "核选项内容4", AccordWith: "未选", textareaContent: "" },
            { itemID: "5", itemName: "核选项5", itemType: "核选项", itemContent: "核选项内容5", AccordWith: "未选", textareaContent: "" },
            { itemID: "6", itemName: "核选项6", itemType: "核选项", itemContent: "核选项内容6", AccordWith: "未选", textareaContent: "" }
        ]
    },
    radioChange: function(e) {
        // console.log("radio的值为:" + e.detail.value); //获取radio的值
        // console.log("元素下标为:" + e.currentTarget.dataset.index); //获取元素在数组中的下标
        let ValRadio = e.detail.value;
        let EleIndex = e.currentTarget.dataset.index;
        let key = 'SmallItem[' + EleIndex + '].AccordWith';
        //更改数组SmallItem[EleIndex]中AccordWith的值
        this.setData({
            [key]: ValRadio
        });
        // console.log("SmallItem数组改变后", this.data.SmallItem);
    },
    HXXSubmit: function(e) {
        //点击提交按钮,会获取data中的数组SmallItem,并且遍历其中的AccordWith属性的值
        //若有AccordWith的值为“未选”,则弹出提示框,且事件执行结束
        //否则将数组传回后台,进行保存

        let arSmallItem = this.data.SmallItem; //获取data中的数组SmallItem
        for (let i = 0; i < arSmallItem.length; i++) {
            //遍历数组
            if (arSmallItem[i].AccordWith == "未选") {
                // console.log(arSmallItem[i].itemName + "未进行选择,请选择后提交");
                wx.showToast({
                    title: '第' + (i + 1) + '项未进行核选\n请核选后提交',
                    icon: 'none',
                    duration: 2000
                })
                return;
            }
        }
        console.log("所有核选项已选择");
        //程序能执行到这里,说明所有核选项都已经进行了选择,可以进行数据保存操作
        // var reQtask = wx.request({
        //     url: '',
        //     data: {},
        //     header: { 'content-type': 'application/JSON' },
        //     method: 'GET',
        //     dataType: 'json',
        //     responseType: 'text',
        //     success: (result) => {

        //     },
        //     fail: () => {},
        //     complete: () => {}
        // });
    },
    inputChange: function(e) {
        // console.log(e);
        let index = e.currentTarget.dataset.index; //获取元素在数组中的下标
        let content = e.detail.value; //获取在文本域中输入的值
        let key = 'SmallItem[' + index + '].textareaContent';
        this.setData({
            [key]: content
        });
        console.log("SmallItem数组改变后", this.data.SmallItem);
    }
})

当存在核选项未进行选择时,点击保存,弹窗提醒效果图

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: 微信小程序单选框组应用详解

本文链接: https://lsjlt.com/news/164587.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 微信小程序单选框组应用详解
    本文实例为大家分享了微信小程序单选框组应用的具体代码,供大家参考,具体内容如下 需求概述 有一个核选项数组,里面存放着核选项名称、内容、ID、选择状态。选择状态有未选择、符合、不符合...
    99+
    2024-04-02
  • 微信小程序复选框组件使用详解
    在工作中频繁用到复选框,于是自己写了个组件,增加其复用性,提高效率。先看效果图: 提交后得到一个选中项的id组成的数组 下边直接上代码: 代码地址为:components/chec...
    99+
    2024-04-02
  • 微信小程序表单组件单选框radio怎么用
    这篇文章主要介绍了微信小程序表单组件单选框radio怎么用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇微信小程序表单组件单选框radio怎么用文章都会有所收获,下面我们一起来看看吧。微信小程序单选框radio...
    99+
    2023-06-26
  • 微信小程序常用表单组件的使用详解
    目录1、常用表单组件1.1button1.2checkbox1.3input1.4label1.5form1.6radio1.7slider1.8switch1.9textarea2...
    99+
    2024-04-02
  • 微信小程序实现多层级复选框菜单
    目录一、背景二 、效果展示三、功能点四、代码实现五 、最后本文实例为大家分享了微信小程序自定义多层级复选框菜单的具体代码,供大家参考,具体内容如下 一、背景 因客户需要,有一个功能是...
    99+
    2024-04-02
  • 微信小程序自定义单选框样式实现单选功能
    本文实例为大家分享了微信小程序自定义单选框样式实现单选功能的具体代码,供大家参考,具体内容如下 实现效果: 选择小车时,其他类型的车取消选中。 具体思路: 用数组存几种类型车的数据...
    99+
    2024-04-02
  • 微信小程序弹窗组件使用详解
    介绍 最近在开发小程序应用, 发现小程序当中有关于组件的介绍非常的少, 当前自己做的项目当中,有出现过这种情况, 所以自己就封装了一个小程序的弹窗组件, 现在把自己的心得分享给大家,...
    99+
    2024-04-02
  • 微信小程序--小程序框架
    目录 前言:  一.框架基本介绍 1.整体结构: 2.页面结构: 3.生命周期: 4.事件系统: 5.数据绑定: 6.组件系统: 7.API: 8.路由: 9.模块化: 10.全局配置: 二.视图层详解 1.WXML(WeiXin Mar...
    99+
    2023-10-20
    小程序 微信小程序
  • 微信小程序自定义复选框
    本文实例为大家分享了微信小程序自定义复选框的具体代码,供大家参考,具体内容如下 1、效果  2、wxml <checkbox-group bindchange="c...
    99+
    2024-04-02
  • 微信小程序选择器组件picker简单入门
    目录picker组件的定义picker组件的类型picker属性共同的属性时间选择器time参考补充:遇到的问题总结picker组件的定义 picker组件是一种从底部向上弹起的滚动...
    99+
    2023-03-02
    微信小程序picker 微信小程序 选择器 小程序选择器
  • 微信小程序日期选择器使用详解
    本文实例为大家分享了微信小程序日期选择器的具体代码,供大家参考,具体内容如下 需求:在小程序开发中,时常会遇到日期选择器、时间选择器或者地区选择器来进行选择的功能。往往设计图上面并不...
    99+
    2024-04-02
  • 微信小程序实现单选按钮
    本文实例为大家分享了微信小程序实现单选按钮的具体代码,供大家参考,具体内容如下 逻辑 单选框的逻辑比较简单,把所有的元素遍历出来,等到点击单选按钮的时候,当value值与遍历变量值一...
    99+
    2024-04-02
  • 微信小程序实现下拉选项框
    本文实例为大家分享了微信小程序实现下拉选项框的具体代码,供大家参考,具体内容如下 效果图 test.js   data: {     shows: false, //控制下拉列表...
    99+
    2024-04-02
  • 微信小程序自定义组件实现单选功能
    本文实例为大家分享了微信小程序自定义组件实现单选的具体代码,供大家参考,具体内容如下 效果图: 调用部分(例如在index页面) index.wxml <view catch...
    99+
    2024-04-02
  • 微信小程序实现简单搜索框
    本文实例为大家分享了微信小程序实现简单搜索框的具体代码,供大家参考,具体内容如下 app.json {   "pages":[     "pages/index/index"   ]...
    99+
    2024-04-02
  • 微信小程序表单组件checkbox怎么用
    这篇文章主要介绍“微信小程序表单组件checkbox怎么用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“微信小程序表单组件checkbox怎么用”文章能帮助大家解决问题。checkboxcheckb...
    99+
    2023-06-26
  • 微信小程序实现多选框全选操作
    本文实例为大家分享了微信小程序实现多选框全选的具体代码,供大家参考,具体内容如下 test.wxml <view class="container">     <!...
    99+
    2024-04-02
  • 微信小程序下拉框组件如何使用
    今天小编给大家分享一下微信小程序下拉框组件如何使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。小程序有时需要使用下拉框选项...
    99+
    2023-07-02
  • 微信小程序下拉框组件使用方法
    小程序有时需要使用下拉框选项,通常我会使用 picker 组件实现。pick 组件使用 mode 来区分类别,默认使用普通选择器就行。 除了上述方式,我们也可以通过自定义组件实现,代...
    99+
    2024-04-02
  • 【微信小程序】常用组件及基本使用详解
    🖐本节学习目标: ✅学会使用常用的组件 文章目录 1.常用的容器类组件的使用1.view组件的基本使用2.scroll-view组件的基本使用3.swiper和swiper-item组件的基本使用 2.常用的...
    99+
    2023-08-17
    微信小程序 小程序
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作