小程序复选框实现问卷的单选功能

小程序复选框实现问卷的单选功能

背景

环境 - 微信开发者工具Nightly v1.02.19,win10

需求 - 在小程序中做一个问卷填写页面,问卷中问题涉及到单项选择,考虑用到小程序提供的组件复选框,但是没有单项选择限制,需要自己实现其中的逻辑

UI设计

      <checkbox-group name="{{id}}" bindchange="checkboxChange">
        <label class="checkbox" wx:for="{{options}}" >
          <checkbox name="{{id}}" value="{{index}}" checked='false'/>{{item}}
        </label>
      </checkbox-group>

checkgroup代表一组复选框,其中每一个label都包含一个复选框checkbox

bindchange是绑定的事件,代表如果group中任一复选框的点击都会触发这个事件

wx:for是代表,复选框循环options的内容,即问题的四个选项,checked代表是否被选中的状态,{{item}}代表复选框具体内容

逻辑实现

checkboxChange: function(e) {
    var selected = e.detail.value;
    if (selected.length > 1) {
      var optionalAnswers = this.data.task.questionList[2].optionalAnswers;
      for (var i = 0; i < optionalAnswers.length; ++i) {
	   var isChecked = 'task.questionList[2].optionalAnswers[' + i + '].isChecked'
        if (i == selected[selected.length - 1]) {
          this.setData({
            [isChecked]: true
          })
        } else {
          this.setData({
            [isChecked]: false
          })
        }
      }
    }
  }

整体思路 - 因为每一次点击都会触发bingchange中的事件,我们可以在此事件中处理,如果选中的数量>1,那么遍历所有的复选框,将刚刚选择的复选框状态设置成true,其他所有复选框状态设置成false,那么就可以保证每次只能有一个被选中

具体代码实现如上,逻辑还是比价简单的

着重强调两个技巧

var isChecked = 'task.questionList[2].optionalAnswers[' + i + '].isChecked' 可以通过加法的形式实现内容结合变量的string化

[isChecked]: true string化需要加上中括号才能正确赋值

效果

在这里插入图片描述

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 微信小程序Vant Weapp是一款基于Vant UI组件库开发的小程序框架,可以快速搭建小型应用程序。调查问卷demo是Vant Weapp的一个示例项目,用于展示如何利用Vant Weapp的组件来实现一个简单的调查问卷功能。 这个demo包含了问题列表、单选题和多选题、文本输入框、提交按钮等常见的调查问卷元素。用户可以根据自己的需要来编辑问题和选项,并选择问题的类型。在填写完问卷后,用户可以点击提交按钮将问卷内容发送到后台服务器进行数据处理。 Vant Weapp的组件库中提供了丰富的UI组件,包括按钮、表单、弹窗、轮播图等等,这些组件都可以在调查问卷demo中找到相应的运用。开发者可以根据自己的需求来选择和定制这些UI组件,实现个性化的问卷设计。 Vant Weapp还提供了丰富的API和文档,方便开发者进行定制化开发。开发者可以根据自己的业务需求,对问卷demo进行二次开发,添加更多的功能和交互,以满足用户的不同需求。同时,Vant Weapp也对小程序的性能做了优化,保证了用户的流畅体验。 总之,微信小程序Vant Weapp调查问卷demo是一个简单而实用的小程序示例项目,结合了Vant Weapp的UI组件和功能,可以快速搭建一个调查问卷系统,并满足个性化的需求。开发者可以通过定制化开发,进一步优化问卷功能和用户体验。 ### 回答2: 微信小程序是一种在微信内部运行的应用程序,而Vant Weapp是一款基于微信小程序的 UI 组件库。调查问卷demo是Vant Weapp提供的一个示例应用,用于展示如何使用Vant Weapp构建一个调查问卷小程序。 调查问卷demo通过Vant Weapp提供的丰富组件和模板,实现了一个简单而功能强大的调查问卷应用。用户可以通过小程序直接访问该demo,进而参与问卷调查。 在这个demo中,用户可以看到问卷的标题、问题和选项,并可以根据自己的选择进行答题。同时,该demo还提供了一些基本的问卷统计功能,比如展示各个问题的答题人数和选择比例。 该调查问卷demo的实现主要分为以下几个步骤: 1. 导入Vant Weapp组件库,并进行相关配置。 2. 创建问卷页面,并使用Vant Weapp提供的组件来布局和展示问卷内容。 3. 根据问卷模板,在页面中动态渲染问卷的标题、问题和选项等数据。 4. 实现用户答题的交互逻辑,比如监听用户选择的事件,并记录用户的选择。 5. 根据用户的答题情况,进行相关的统计和展示,比如展示选择比例和回答人数等。 通过参考这个调查问卷demo,开发者可以学习到如何在微信小程序中使用Vant Weapp来构建界面,并实现一些基本的交互和数据处理功能。同时,开发者也可以根据自己的需求对该demo进行修改和扩展,以满足实际的调查问卷应用场景的需求。 ### 回答3: 微信小程序vant weapp调查问卷demo是一个基于微信小程序开发框架vant和weapp的调查问卷示例程序。这个demo主要实现了一个简单的调查问卷功能,可以帮助用户快速创建、发布和统计问卷。 首先,在小程序的首页上,用户可以浏览到已发布的问卷列表。用户可以点击进入问卷详情页面,查看问卷的具体内容和选项。 在问卷详情页面,用户可以选择相应的选项,并提交答卷。提交后,用户可以查看自己的答卷结果,并可以查看所有答卷的统计结果。统计结果以图表的形式展示,方便用户直观地了解问卷结果。 在创建问卷页面,用户可以编辑问卷的标题、问题和选项。用户可以自定义问卷的类型,包括单选、多选等。还可以设置问卷的截止日期,以及是否匿名发布。 在后台管理页面,管理员可以管理发布的问卷,包括编辑、删除问卷。管理员还可以查看问卷的答卷统计结果,以及导出答卷数据。 使用vant和weapp开发这个调查问卷demo的好处是,vant提供了丰富的组件和样式,可以帮助开发者快速构建小程序的UI界面。weapp是微信小程序的开发框架,具有方便、高效的特点,使用起来非常方便。 总的来说,微信小程序vant weapp调查问卷demo是一个功能简单但实用的问卷调查程序,通过这个demo,用户可以方便地创建、发布和统计问卷,帮助用户快速了解用户的需求和意见。同时,vant和weapp的使用也为开发者提供了便捷的开发方式,帮助开发者快速构建小程序

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值