feat:数组遍历和点击优化

This commit is contained in:
dongwug
2022-09-27 18:29:28 +08:00
parent e6635bda08
commit cdf3830ed3
2 changed files with 179 additions and 92 deletions

View File

@@ -0,0 +1,6 @@
const Images = {
//选择按钮
checkboxImg: require('./checkbox.png'),
checkbox2Img: require('./checkbox2.png')
}
export default Images

View File

@@ -18,20 +18,27 @@
</div> </div>
<!-- 循环遍历生成判断题的问题和选项 --> <!-- 循环遍历生成判断题的问题和选项 -->
<!-- <div class="questions" <div class="questions"
v-for="(q,index) in j_questions" v-for="(q,index) in questions"
:key="index"> :key="index">
<div class="questiontitle" > <div class="questiontitle" >
{{q.text}} {{q.text}}
</div> </div>
<div class="btnswitch" v-for="(j,index) in j_options" <div class="btnswitch" v-for="(j,index) in q.options"
:key="index"> :key="index"
<div class="checkoutbtn"></div> @click="selectBtn(j)"
>
<div class="checkoutbtn"
:style="{
backgroundImage:
'url('+( j.selected === true? Images.checkboxImg : Images.checkbox2Img )+')'
}"
></div>
<div class="select">{{j.text}}</div> <div class="select">{{j.text}}</div>
</div> </div>
</div> --> </div>
<div class="questions"> <!-- <div class="questions">
<div class="questiontitle"> <div class="questiontitle">
1控制计划是由工艺部门完成 4 1控制计划是由工艺部门完成 4
</div> </div>
@@ -69,7 +76,7 @@
<div class="checkoutbtn"></div> <div class="checkoutbtn"></div>
<div class="select">错误</div> <div class="select">错误</div>
</div> </div>
</div> </div> -->
<div class="questiontype clearfix"> <div class="questiontype clearfix">
@@ -79,7 +86,7 @@
</div> </div>
<!-- 循环遍历生成选择题的问题和选项 --> <!-- 循环遍历生成选择题的问题和选项 -->
<!-- <div class="questions" <div class="questions"
v-for="(q,index) in s_questions" v-for="(q,index) in s_questions"
:key="index"> :key="index">
<div class="questiontitle"> <div class="questiontitle">
@@ -87,21 +94,19 @@
</div> </div>
<div class="btnswitch" v-for="(s,index) in s_options" <div class="btnswitch" v-for="(s,index) in s_options"
:key="index" :key="index"
@click="selectBtn(value)" @click="selectBtn2(s)"
> >
<div class="checkoutbtn" <div class="checkoutbtn"
:style="{ :style="{
backgroundImage: backgroundImage:
value.selected === true 'url('+( s.selected === true? Images.checkboxImg : Images.checkbox2Img )+')'
? 'url( ../../assets/image/checkbox.png )'
: 'url( ../../assets/image/checkbox2.png )'
}" }"
></div> ></div>
<div class="select">{{s.text}}</div> <div class="select">{{s.text}}</div>
</div> </div>
</div> --> </div>
<div class="questions"> <!-- <div class="questions">
<div class="questiontitle"> <div class="questiontitle">
4.FMEA 是一种 工具4 4.FMEA 是一种 工具4
</div> </div>
@@ -121,7 +126,7 @@
<div class="checkoutbtn"></div> <div class="checkoutbtn"></div>
<div class="select">风险分析</div> <div class="select">风险分析</div>
</div> </div>
</div> </div> -->
<div class="btnbox"> <div class="btnbox">
<div class="submitbtn"> <div class="submitbtn">
@@ -136,88 +141,164 @@
</template> </template>
<script> <script>
// import { reactive,toRefs } from "vue"; import { reactive, toRefs } from "vue";
import Images from '../../assets/image/index'
import TitleHead from "@/components/TitleHead.vue"; import TitleHead from "@/components/TitleHead.vue";
export default { export default {
name: "ReadyExamination", name: "ReadyExamination",
components: { components: {
TitleHead, TitleHead,
}, },
// setup() { setup() {
// const state = reactive({ const state = reactive({
// j_questions: [ questions: [
// { {
// type: "judge", id: 1,
// id: 1, text: "1、控制计划是由工艺部门完成 4分",
// text: "1、控制计划是由工艺部门完成 4分", options: [
// }, {
// { text: "正确",
// type: "judge", select:"flase",
// id: 2, },
// text: "2、.PFMEA假定所设计的产品能满足设计要求", {
// }, text: "错误",
// { select:"flase",
// type: "judge", },
// id: 3, ]
// text: "3、PFMEA假定所设计的产品能满足设计要求 4分", },
// }, {
// ], id: 2,
// s_questions: [ text: "2、.PFMEA假定所设计的产品能满足设计要求",
// { options: [
// type: "choice", {
// id: 1, text: "正确",
// text: "4、.FMEA 是一种( 工具4分", select:"flase",
// }, },
// ], {
// j_options: [ text: "错误",
// { select:"flase",
// id: 1, },
// text: "正确", ]
// selected: false, },
// }, {
// { id: 3,
// id: 2, text: "3、控制计划是由工艺部门完成 4分",
// text: "错误", options: [
// selected: false, {
// }, text: "正确",
// ], select:"flase",
// s_options: [ },
// { {
// id: 1, text: "错误",
// text: "问题解决", select:"flase",
// selected: false, },
// }, ]
// { },
// id: 2, {
// text: "项目策划", id: 4,
// selected: false, text: "4、.PFMEA假定所设计的产品能满足设计要求",
// }, options: [
// { {
// id: 3, text: "正确",
// text: "过程分析", select:"flase",
// selected: false, },
// }, {
// { text: "错误",
// id: 4, select:"flase",
// text: "风险分析", },
// selected: false, ]
// }, },
// ] ],
// }); // j_questions: [
// const selectBtn = (value) => { // {
// let arr = state.s_options; // type: "judge",
// arr.map((i) => { // id: 1,
// if (i.id === value.id) { // text: "1、控制计划是由工艺部门完成 4分",
// i.selected = !i.selected; // },
// } // {
// }); // type: "judge",
// state.s_options = arr; // id: 2,
// }; // text: "2、.PFMEA假定所设计的产品能满足设计要求",
// return { // },
// ...toRefs(state), // {
// selectBtn, // type: "judge",
// }; // id: 3,
// } // text: "3、PFMEA假定所设计的产品能满足设计要求 4分",
// },
// ],
s_questions: [
{
type: "choice",
id: 1,
text: "4、.FMEA 是一种( 工具4分",
},
],
// j_options: [
// {
// id: 1,
// text: "正确",
// selected: false,
// },
// {
// id: 2,
// text: "错误",
// selected: false,
// },
// ],
s_options: [
{
id: 1,
text: "问题解决",
selected: false,
},
{
id: 2,
text: "项目策划",
selected: false,
},
{
id: 3,
text: "过程分析",
selected: false,
},
{
id: 4,
text: "风险分析",
selected: false,
},
]
});
const selectBtn = (value) => {
// let arr = state.questions;
const arry = []
state.questions.map((item) => {
arry.push(item.options)
})
console.log(arry)
console.log(value)
// arry.map((i) => {
// if (i.id === value.id) {
// i.selected = !i.selected;
// }
// });
// state.questions = arry;
};
const selectBtn2 = (value) => {
let arr = state.s_options;
arr.map((i) => {
if (i.id === value.id) {
i.selected = !i.selected;
}
});
state.s_options = arr;
};
return {
...toRefs(state),
selectBtn,
selectBtn2,
Images,
};
}
}; };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>