html部分
<template>
<view>
<uni-forms :model-value="content" :label-width="110" :label-align="'right'">
<uni-forms-item label="申请人意见" name="applyOpinion" required class="item-radio-group">
<radio-group @change="radioChange" >
<label v-for="(item, index) in applyOpinions" :key="item.value">
<view>
<radio :value="item.value" :checked="index === applyOpinionIndex" :disabled="nodeDisabled"/>
<view class="radio-option-text">
{{item.name}}
</view>
</view>
</label>
</radio-group>
</uni-forms-item>
</uni-forms>
</view>
</template>
js部分
<script>
export default {
name: "consultation-outside-application-first-node",
props: ['processForm', 'nodeDisabled'],
data() {
return {
content: {},
applyOpinions: [
{
value: '无法安排会诊',
name: '无法安排会诊',
checked: 'true'
},
{
value: '外出会诊期间的医疗风险和个人人身安全由邀请医院和本人负责,同意前往。',
name: '外出会诊期间的医疗风险和个人人身安全由邀请医院和本人负责,同意前往。'
}
],
applyOpinionIndex: 0
};
},
mounted() {
this.content = this.processForm.formData.content
for(let i = 0; i < this.applyOpinions.length; i++) {
if (this.applyOpinions[i].value === this.content.applyOpinion) {
this.applyOpinionIndex = i;
break;
}
}
},
methods: {
radioChange: function(evt) {
for (let i = 0; i < this.applyOpinions.length; i++) {
if (this.applyOpinions[i].value === evt.detail.value) {
this.applyOpinionIndex = i;
break;
}
}
}
}
}
</script>
css部分
<style scoped lang="scss">
.item-radio-group {
display: flex;
flex-direction: row;
align-items: center;
}
.radio-option-text {
display: inline;
padding-left: 10px;
}
</style>
k***@163.com (作者)
禁用不等于全选,这两者并不等价。实际只要设置禁用,无论选中哪个,都会变成全部被选中的状态。不知道这样是否表达够清楚了呢?
2025-02-13 18:37
套马杆的套子
回复 k***@163.com: 你把checked去掉看看,我刚试了下,没发现问题
2025-02-14 08:26
k***@163.com (作者)
回复 套马杆的套子: 一样的,和applyOpinions的'checked:true'没有关系,你自己试试就知道了,那个checked只是表示默认选中的选项
2025-02-17 16:31