uniapp问卷调查(单选)

前言

该代码片段只支持问卷调查的单选功能

使用组件库

配置 | uView 2.0 - 全面兼容 nvue 的 uni-app 生态框架 - uni-app UI 框架 (uviewui.com)

代码

javascript 复制代码
<template>  
  <view>  
    <view v-for="(item, index) in radiolist1" :key="index">  
      <view>{{ item.title }}</view>  
      <u-radio-group v-model="selectedValues[index]" placement="column">  
        <u-radio  
          v-for="(aitem, aindex) in item.option"  
          :key="aindex"  
          :label="aitem.value"  
          :name="aitem.name"  
        ></u-radio>  
      </u-radio-group>  
    </view>  
    <view>  
      <button @click="onSumbit">点击获取到这个值</button>  
    </view>  
  </view>  
</template>  
  
<script>  
export default {  
  data() {  
    return {  
      radiolist1: [  
        {  
		  id:1,
          title: '这是第一题',  
          option: [  
            { name: '选项一', value: '选项一' },  
            { name: '选项二', value: '选项二' },  
            { name: '选项三', value: '选项三' },  
          ],  
        },  
        {  
		  id:2,
          title: '这是第二题',  
          option: [  
            { name: '选项一', value: '选项一' },  
            { name: '选项二', value: '选项二' },  
            { name: '选项三', value: '选项三' },  
          ],  
        },  
      ],  
      selectedValues: [], // 初始化一个空数组来存储每个radio-group的选中状态  
    };  
  },  
  created() {  
    // 在组件创建时,初始化selectedValues数组的长度与radiolist1相同,并将每个元素设置为空字符串  
    this.selectedValues = this.radiolist1.map(() => '');  
  },  
  methods: {  
    onSumbit() {  
      console.log(this.selectedValues, 'this.selectedValues'); // 输出每个radio-group的选中状态  
    },  
  },  
};  
</script>

效果图

结束语

如果需要多选和填空,可以根据,类型判断是填空还是多选,选择不同的组件来渲染即可!

有什么不足的地方,请大家多多指教!点个赞啦!

相关推荐
二哈喇子!7 小时前
BOM模型
开发语言·前端·javascript·bom
二哈喇子!7 小时前
Vue2 监听器 watcher
前端·javascript·vue.js
yanyu-yaya7 小时前
前端面试题
前端·面试·前端框架
二哈喇子!7 小时前
使用NVM下载Node.js管理多版本
前端·npm·node.js
GGGG寄了8 小时前
HTML——文本标签
开发语言·前端·html
摘星编程8 小时前
在OpenHarmony上用React Native:ActionSheet确认删除
javascript·react native·react.js
2501_944521598 小时前
Flutter for OpenHarmony 微动漫App实战:推荐动漫实现
android·开发语言·前端·javascript·flutter·ecmascript
Amumu121389 小时前
Vue核心(三)
前端·javascript·vue.js
CoCo的编程之路9 小时前
2026 前端效能革命:如何利用智能助手实现“光速”页面构建?深度横评
前端·人工智能·ai编程·comate·智能编程助手·文心快码baiducomate
RFCEO9 小时前
HTML编程 课程五、:HTML5 新增语义化标签
前端·html·html5·跨平台·语义化标签·可生成安卓/ios·html最新版本