k***@163.com
k***@163.com
  • 发布:2025-02-12 18:09
  • 更新:2025-02-12 18:09
  • 阅读:13

【报Bug】uniapp的radio-group组件禁用时会选中所有的radio

分类:uni-app

产品分类: uniapp/H5

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: 22631.4751

HBuilderX类型: 正式

HBuilderX版本号: 3.7.9

浏览器平台: Chrome

浏览器版本: 132.0.6834.196

项目创建方式: HBuilderX

示例代码:

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>

操作步骤:

使用chrome浏览器模拟app端仿真设备,仿真设备iPhone 12 Pro

预期结果:

禁用按钮组,但不会全选

实际结果:

禁用按钮组的同时全选

bug描述:

uniapp的radio-group组件禁用时会选中所有的radio(非禁用状态显示正常,禁用状态出现异常)

2025-02-12 18:09 负责人:无 分享
已邀请:

要回复问题请先登录注册