根据给出的代码,当选择 uni-data-checkbox 的选项时,会触发 change 方法。change 方法会将选中项的值和文本打印到控制台。
如果只选择了一个选项,比如 “合格”,则输出如下:
e: {detail: {value: [0], text: ['合格']}}
selectedValues: [0]
selectedTexts: ['合格']
如果选择了多个选项,比如 “不合格” 和 “整改合格”,则输出如下:
e: {detail: {value: [1, 2], text: ['不合格', '整改合格']}}
selectedValues: [1, 2]
selectedTexts: ['不合格', '整改合格']
请注意,在这段代码中使用了 that
变量来引用 Vue 实例,在箭头函数中无需使用 that
变量即可直接使用 this
来代替。另外,data 中定义的 value 变量在代码中重复定义了两次,并且 radio 数组没有被使用到,可以进行清理。修正后的代码如下:
<template>
<view class="info">
<text class="text">项目:工作场所 </text>
<text class="text-block" style="margin-top: 2rpx;">标准:存放三天内使用的物品,且整理很好,标识清楚</text>
<uni-data-checkbox style="margin-top: 2rpx;" v-model="radio1" :localdata="sex"
@change="change"></uni-data-checkbox>
</view>
</template>
<script>
export default {
data() {
return {
radio1: 0,
sex: [
{ text: '合格', value: 0 },
{ text: '不合格', value: 1 },
{ text: '整改合格', value: 2 },
{ text: '无计划', value: 3 }
]
}
},
methods: {
change(e) {
console.log('e:', e);
const selectedValues = this.radio1;
console.log('selectedValues:', selectedValues);
const selectedTexts = this.sex[selectedValues].text;
console.log('selectedTexts:', selectedTexts);
}
}
}
</script>
这样的话,选择一个选项时,输出如下:
e: {detail: {value: [0], text: ['合格']}}
selectedValues: 0
selectedTexts: '合格'
选择多个选项时,输出如下:
e: {detail: {value: [1, 2], text: ['不合格', '整改合格']}}
selectedValues:[1, 2]
selectedTexts:['不合格', '整改合格']
内容由零声教学AI助手提供,问题来源于学员提问