1.我想要做点击单选框,就自动往后端提交一行数据,keepId不用管,会自动生成。answerId希望用选中的题目的answerId。keepState是判断这个题目我选择的答案是否正确,需要先做一个判断,如果answerAbcd和radio选中的数据相同,就代表正确,值为1,否则为0,代表错误。keepTime作为这行数据生成的时间,数据库字段类型是datatime,需要精确到秒钟。还有就是点了这个单选框除了提交数据以外,可以自动翻到下一页轮播图
<template>
<swiper class="swiperhei" :indicator-dots="false" :autoplay="false" >
<swiper-item v-for="(item,index) in timuList.list" :key="index">
<view class="timu">
{{index+1}}.{{item.answerTitle}}
</view>
<view class="xuanxiang">
<radio><span class="spanone">A.{{item.answerOptiona}}</span></radio>
<radio><span class="spanone">B.{{item.answerOptionb}}</span></radio>
<radio><span class="spanone">C.{{item.answerOptionc}}</span></radio>
<radio><span class="spanone">D.{{item.answerOptiond}}</span></radio>
</view>
</swiper-item>
</swiper>
</template>
<script setup>
import { onLoad } from '@dcloudio/uni-app';
import { reactive, ref } from 'vue';
// 引入查询全部题的api
import { onelistallApi,addKeepApi } from '../../api/index.js';
//题目数据
const timuList = reactive({
list: []
});
//查询题目数据
const getList = async () => {
let res = await onelistallApi({
goodsId: uni.getStorageSync('goodsId')
});
console.log(res);
if (res && res.code == 200) {
timuList.list = res.data;
}
};
//新增答题记录
const addKeep = async () => {
//answerAbcd字段是答案,先做一个判断,如果answerAbcd和radio选中的数据相同,就代表正确,值为1,传递给下面的keepState
let res = await addKeepApi({
keepId:'',
answerId:answerId.value,
keepState:,
keepTime:,//这个表单生成的时间
openid:uni.getStorageSync('openid')
});
console.log(res);
if (res && res.code == 200) {
timuList.list = res.data;
}
};
onLoad(() => {
getList();
});
</script>