康爱公社
康爱公社
  • 发布:2023-07-01 13:33
  • 更新:2023-09-13 15:51
  • 阅读:841

【报Bug】页面多个输入框、 picker 一起排版时,输入框内容会影响 picker 内容

分类:uni-app

产品分类: uniapp/小程序/微信

PC开发环境操作系统: Mac

PC开发环境操作系统版本号: M1芯片 13.2.1 (22D68)

HBuilderX类型: 正式

HBuilderX版本号: 3.8.4

第三方开发者工具版本号: 1.06.2303220

基础库版本号: 2.32.3

项目创建方式: HBuilderX

示例代码:
<template>  
    <view class="kui-px-3 kui-pt-3 kui-pb-5">  
        <view>  
            <text class="kui-font-bold">确诊疾病</text>  
        </view>  
        <view class="kui-mt-3">  
            <view class="kui-bg-white kui-rounded-sm kui-py-3 kui-px-2">  
                <view>  
                    <view class="kui-pt-5 kui-pb-2" id="confirmed-illness">  
                        <view class="kui-flex kui-items-center">  
                            <view class="kui-flex-col">  
                                <view class="kui-w-16 kui-text-justify label">  
                                    <text>确诊疾病</text>  
                                </view>  
                            </view>  
                            <view class="kui-ml-3 kui-flex-1 kui-flex kui-items-center">  
                                <input type="text" class="kui-text-base kui-font-bold kui-w-full kui-py-1"  
                                    placeholder-class="kui-opacity-50 kui-font-normal kui-text-base kui-flex kui-flex-col kui-justify-center"  
                                    placeholder="请填写确诊疾病" v-model="form.confirmed_illness" />  
                                <view v-if="form.confirmed_illness" class="kui-mr-6">  
                                    <uni-icons type="clear" color="#6b7785" size="22"  
                                        @click="form.confirmed_illness = ''"></uni-icons>  
                                </view>  
                            </view>  
                        </view>  
                        <!-- <view class="kui-mt-0">  
                            <text v-if="errorMsg.type === 'confirmed_illness'" class="kui-text-sm kui-danger-5">{{  
                                                    errorMsg.msg  
                                                }}</text>  
                        </view> -->  
                    </view>  
                    <view class="kui-bg-grey-3 kui-mt-3 kui-h-min-px"></view>  
                </view>  
                <view>  
                    <view class="kui-pt-5 kui-pb-2" id="confirmed-time">  
                        <view class="kui-flex">  
                            <view class="kui-flex-col">  
                                <view class="kui-w-16 kui-text-justify label">  
                                    <text>确诊时间</text>  
                                </view>  
                            </view>  
                            <picker mode="date" class="kui-flex-col kui-ml-6" @change="onChangeConfirmedDate">  
                                <text class="kui-success-5 kui-font-bold">{{ confirmedTime }}</text>  
                            </picker>  
                        </view>  
                        <!-- <view class="kui-mt-0">  
                            <text v-if="errorMsg.type === 'confirmed_time'" class="kui-text-sm kui-danger-5">{{  
                                                    errorMsg.msg  
                                                }}</text>  
                        </view> -->  
                    </view>  
                    <view class="kui-bg-grey-3 kui-mt-3 kui-h-min-px"></view>  
                </view>  
                <view>  
                    <view class="kui-pt-5 kui-pb-2" id="confirmed-hospital">  
                        <view class="kui-flex kui-items-center">  
                            <view class="kui-flex-col">  
                                <view class="kui-w-16 kui-text-justify label">  
                                    <text>确诊医院</text>  
                                </view>  
                            </view>  
                            <view class="kui-ml-3 kui-flex-1 kui-flex kui-items-center">  
                                <input type="text" class="kui-text-base kui-font-bold kui-w-full kui-py-1"  
                                    placeholder-class="kui-opacity-50 kui-font-normal kui-text-base kui-flex kui-flex-col kui-justify-center"  
                                    placeholder="请填写确诊医院" v-model="form.confirmed_hospital" />  
                                <view v-if="form.confirmed_hospital" class="kui-mr-6">  
                                    <uni-icons type="clear" color="#6b7785" size="22"  
                                        @click="form.confirmed_hospital = ''"></uni-icons>  
                                </view>  
                            </view>  
                        </view>  
                        <!-- <view class="kui-mt-0">  
                            <text v-if="errorMsg.type === 'confirmed_hospital'" class="kui-text-sm kui-danger-5">{{  
                                                    errorMsg.msg  
                                                }}</text>  
                        </view> -->  
                    </view>  
                    <view class="kui-bg-grey-3 kui-mt-3 kui-h-min-px"></view>  
                </view>  
                <view>  
                    <view class="kui-flex kui-pt-5 kui-pb-2">  
                        <view class="kui-w-24 kui-text-justify label">  
                            <text>是否做过手术</text>  
                        </view>  
                        <radio-group class="kui-ml-6" @change="onChangeRadio">  
                            <label class="kui-flex kui-items-center">  
                                <template v-for="(item, index) in radioOperate" :key="index">  
                                    <view class="kui-mr-3">  
                                        <radio :value="item.value" :checked="item.checked" color="#00BC79"  
                                            style="transform: scale(.8);" />  
                                        <text>{{ item.name }}</text>  
                                    </view>  
                                </template>  
                            </label>  
                        </radio-group>  
                    </view>  
                </view>  
                <view v-if="operationNameStatus">  
                    <view class="kui-pt-5 kui-pb-2" id="operation-name">  
                        <view class="kui-flex kui-items-center">  
                            <view class="kui-flex-col">  
                                <view class="kui-w-16 kui-text-justify label">  
                                    <text>手术名称</text>  
                                </view>  
                            </view>  
                            <view class="kui-ml-3 kui-flex-1 kui-flex kui-items-center">  
                                <input type="text" class="kui-text-base kui-font-bold kui-w-full kui-py-1"  
                                    placeholder-class="kui-opacity-50 kui-font-normal kui-text-base kui-flex kui-flex-col kui-justify-center"  
                                    placeholder="请填写手术名称" v-model="form.operation_name" />  
                                <view v-if="form.operation_name" class="kui-mr-6">  
                                    <uni-icons type="clear" color="#6b7785" size="22"  
                                        @click="form.operation_name = ''"></uni-icons>  
                                </view>  
                            </view>  
                        </view>  
                        <!-- <view class="kui-mt-0">  
                            <text v-if="errorMsg.type === 'operation_name'" class="kui-text-sm kui-danger-5">{{  
                                                    errorMsg.msg  
                                                }}</text>  
                        </view> -->  
                    </view>  
                    <view class="kui-bg-grey-3 kui-mt-3 kui-h-min-0"></view>  
                </view>  
            </view>  
        </view>  
        <view class="kui-mt-3">  
            <text class="kui-font-bold">首次检查\身故</text>  
        </view>  
        <view class="kui-mt-3">  
            <view class="kui-bg-white kui-rounded-sm kui-py-3 kui-px-2">  
                <view>  
                    <view class="kui-pt-5 kui-pb-2" id="first-inspection-time">  
                        <view class="kui-flex">  
                            <view class="kui-flex-col">  
                                <view class="kui-w-28 kui-text-justify label">  
                                    <text>首次检查/身故时间</text>  
                                </view>  
                            </view>  
                            <picker mode="date" class="kui-flex-col kui-ml-6" @change="onChangeFirstInspectionDate">  
                                <text class="kui-success-5 kui-font-bold">{{ firstInspectionTime }}</text>  
                            </picker>  
                        </view>  
                        <!-- <view class="kui-mt-0">  
                            <text v-if="errorMsg.type === 'first_inspection_time'" class="kui-text-sm kui-danger-5">{{  
                                                    errorMsg.msg  
                                                }}</text>  
                        </view> -->  
                    </view>  
                    <view class="kui-bg-grey-3 kui-mt-3 kui-h-min-px"></view>  
                </view>  
                <view>  
                    <view class="kui-pt-5 kui-pb-2" id="first-inspection-hospital">  
                        <view class="kui-flex kui-items-center">  
                            <view class="kui-flex-col">  
                                <view class="kui-w-28 kui-text-justify label">  
                                    <text>首次检查/身故地点</text>  
                                </view>  
                            </view>  
                            <view class="kui-ml-3 kui-flex-1 kui-flex kui-items-center">  
                                <input type="text" class="kui-text-base kui-font-bold kui-w-full kui-py-1"  
                                    placeholder-class="kui-opacity-50 kui-font-normal kui-text-base kui-flex kui-flex-col kui-justify-center"  
                                    placeholder="请填写首次检查/身故地点" v-model="form.first_inspection_hospital" />  
                                <view v-if="form.first_inspection_hospital" class="kui-mr-6">  
                                    <uni-icons type="clear" color="#6b7785" size="22"  
                                        @click="form.first_inspection_hospital = ''"></uni-icons>  
                                </view>  
                            </view>  
                        </view>  
                        <!-- <view class="kui-mt-0">  
                            <text v-if="errorMsg.type === 'first_inspection_hospital'"  
                                class="kui-text-sm kui-danger-5">{{  
                                                        errorMsg.msg  
                                                    }}</text>  
                        </view> -->  
                    </view>  
                    <view class="kui-bg-grey-3 kui-mt-3 kui-h-min-0"></view>  
                </view>  
            </view>  
        </view>  
        <view class="kui-mt-3">  
            <text class="kui-font-bold">事件经过</text>  
        </view>  
        <view class="kui-mt-3" ref="textareaBox">  
            <view class="kui-bg-grey-1 kui-flex kui-flex-col kui-justify-center kui-rounded-sm kui-p-3">  
                <textarea v-model="form.detail" :maxlength="200" placeholder="详细经过(发病、检查、确诊、治疗、手术、住院至出院等具体时间及经过)"  
                    placeholder-class="kui-leading-snug kui-tracking-widest"  
                    class="kui-w-full kui-ml-0 kui-py-2 kui-leading-snug kui-tracking-widest" />  
                <view class="kui-flex kui-justify-end kui-grey-6 kui-text-base">  
                    <text class="kui-mr-2">当前输入字数</text>  
                    <text>{{ form.detail.length }}</text>  
                    <text class="kui-mx-1">/</text>  
                    <text>{{ textareaInputtingLimit }}</text>  
                </view>  
            </view>  
        </view>  
        <view class="bottom-safe-area"></view>  
    </view>  
</template>  

<script lang="ts" setup>  
    import { reactive, ref } from 'vue';  
    const form = reactive({  
        confirmed_illness: '',  
        confirmed_time: '',  
        confirmed_hospital: '',  
        operation_name: '',  
        first_inspection_time: '',  
        first_inspection_hospital: '',  
        detail: '',  
        history_illness: '',  
        medical_record: ''  
    });  

    const confirmedTime = ref('点击选择时间');  

    const radioOperate = ref([  
        {  
            value: '1',  
            name: '否',  
            checked: true  
        },  
        {  
            value: '2',  
            name: '是',  
            checked: false  
        }  
    ]);  

    const operationNameStatus = ref(false);  

    const firstInspectionTime = ref('点击选择时间');  

    const textareaInputtingLimit = ref(200);  

    const onChangeConfirmedDate = (e : { detail : { value : string; }; }) => {  
        form.confirmed_time = confirmedTime.value = e.detail.value;  
    };  

    const onChangeRadio = (e : { detail : { value : string } }) => {  
        operationNameStatus.value = e.detail.value === '2';  
    }  

    const onChangeFirstInspectionDate = (e : { detail : { value : string; }; }) => {  
        form.first_inspection_time = firstInspectionTime.value = e.detail.value;  
    };  
</script>  

<style>  
    page {  
        background-color: #F8F8F8;  
    }  
    .bottom-safe-area {  
        padding-bottom: 0;  
        padding-bottom: constant(safe-area-inset-bottom);  
        padding-bottom: env(safe-area-inset-bottom);  
    }  
</style>

操作步骤:

演示项目运行微信小程序,然后 iPhone12 及以上机型真机浏览,逐个输入内容即可复现问题

预期结果:

修改 picker 下面的输入框不会影响 picker 内容

实际结果:

修改 picker 下面的输入框会影响 picker 内容

bug描述:

页面多个输入框、 picker排版,修改 picker 下面的输入框时picker 内容也会修改。。。

演示视频和演示项目在附近压缩包

2023-07-01 13:33 负责人:无 分享
已邀请:

最佳回复

DCloud_UNI_LXH

DCloud_UNI_LXH

在 manifest.json 中的 mp-wexin 节点的 setting 中配置 "minified": true 然后再试试看。

实测可以解决问题

  • 康爱公社 (作者)

    刚才测试了演示项目还是有同样的问题,我们的正式项目看了配置,minified本身就是 true,也是存在一样的问题

    2023-07-12 10:26

  • DCloud_UNI_LXH

    回复 h***@gmail.com: 我使用 1.06.2306281 版本的微信开发者工具实测可行,你升级下试试看

    2023-07-12 11:05

  • 3***@qq.com

    没得用啊,还是一片空白

    2023-10-16 17:57

小超xc

小超xc

经测试,苹果13真机调试可复现此情况,安卓环境和模拟器开放环境下使用正常。

  • 康爱公社 (作者)

    是的,这是个非常严重的 BUG,其他问题你可以绕过去,但是这种表单正常的排版都能出现如此严重的 BUG,也是无语了

    2023-07-03 09:01

DCloud_UNI_LXH

DCloud_UNI_LXH

使用真机调试 1.0 试试看

  • 康爱公社 (作者)

    真机调试 1.0 是什么意思?这样的问题在 iphone12 及以上机型微信小程序会出现

    2023-07-03 13:50

  • DCloud_UNI_LXH

    回复 h***@gmail.com: 微信小程序在调试的时候不是可以选择真机调试版本吗?你切换一下试试看

    2023-07-03 14:53

  • 康爱公社 (作者)

    回复 DCloud_UNI_LXH: 是微信开发者工具的基础库版本吗?

    2023-07-03 15:12

DCloud_UNI_LXH

DCloud_UNI_LXH

这样修改微信开发者工具的真机调试版本

  • 康爱公社 (作者)

    兄弟你这不算解决方案啊,平时都是直接上传体验版测试上线前的效果的,体验版是没有这个调试版本选择的,真机调试选择 1.0 版本是没问题,但是我上传体验版发布正式版的时候怎么办?

    2023-07-03 16:49

  • DCloud_UNI_LXH

    回复 h***@gmail.com: 问题不是很好确认,因为没有任何的报错信息,只是切换了调试版本就好了,这个问题还待更详细的确认

    2023-07-04 14:29

  • 康爱公社 (作者)

    回复 DCloud_UNI_LXH: 好吧,希望官方多方排查下,这个问题现在影响还挺大的

    2023-07-04 14:45

  • DCloud_UNI_LXH

    回复 h***@gmail.com: 在 manifest.json 中的 mp-wexin 节点的 setting 中配置 "minified": true 然后再试试看

    2023-07-10 10:53

piaoyi_UI

piaoyi_UI - 【插件开发】【专治疑难杂症】【多款插件已上架:https://ext.dcloud.net.cn/publisher?id=193663(微信搜索飘逸科技UI小程序直接体验)】【骗子请绕道】问题咨询请加QQ群:120594820,代表作灵感实用工具小程序

能具体描述问题吗,提供效果截图和代码截图可以高效率解决问题

  • 康爱公社 (作者)

    不是提供了视频演示了嘛,还有测试项目源码也提供了

    2023-07-04 14:52

  • 不瓜还瓜

    回复 h***@gmail.com: 解决了吗?

    2023-07-19 14:49

  • 不瓜还瓜

    回复 h***@gmail.com: 能不能教一下我怎么解决的我也碰到了

    2023-07-19 14:49

  • DCloud_UNI_LXH

    回复 不瓜还瓜: 在 manifest.json 中的 mp-wexin 节点的 setting 中配置 "minified": true 然后再试试看。使用新版的微信开发者工具,如果稳定版还是有问题就换成 RC 版

    2023-07-22 14:56

ijiangruyi

ijiangruyi

iOS真机调试白屏,在PC微信调试可以看到报错信息,辛苦官方看看有帮助吗?

要回复问题请先登录注册