见BUG 描述

- 发布:2023-03-20 10:28
- 更新:2023-03-20 10:53
- 阅读:545
产品分类: uniapp/H5
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: 11
HBuilderX类型: 正式
HBuilderX版本号: 3.7.3
浏览器平台: Chrome
浏览器版本: 105.0.1343.53 (正式版本) (64 位)
项目创建方式: HBuilderX
操作步骤:
预期结果:
见BUG 描述
见BUG 描述
实际结果:
见BUG 描述
见BUG 描述
bug描述:
这个bug我提了有一周了,没回复。见链接有关binddata和onFieldChange的问题。不得不再次重开新帖提交bug,内容如下:
运行环境:HX3.7.3和uni-admin2.3.5都是当前最新版。下述问题vue2和vue3都一样。
问题一:uni-forms-item组件的问题:表格左侧的标题宽度被挤压到下一行,如果把源代码中的默认值80写入就正常,但源码没写入默认值,不知为何。
问题二:picker组件须在开始标签和结束标签之间写入值才能显示,而且无论是否显示值,表格边框都不显示,这个问题以前没有。
问题三:binddata()如果不重写,对于表单组件无效,比如在switch或picker等组件中无效。
问题四:onFieldChange()在输入框中有效,但在switch或picker等组件中无效。
复现步骤:
一、这是dbschema代码:
{
"bsonType": "object",
"required": [],
"permission": {
"read": true,
"create": true,
"update": true,
"delete": true
},
"properties": {
"_id": {
"description": "ID,系统自动生成"
},
"testswitch1": {
"bsonType": "bool",
"label": "测试默认",
"defaultValue": false
},
"testswitch2": {
"bsonType": "bool",
"label": "测试onFieldChange",
"defaultValue": false
},
"testpicker1": {
"bsonType": "string",
"label": "测试默认picker",
"description": "请选择开始时分",
"defaultValue": "11:00",
"componentForEdit": {
"name": "picker",
"props": {
"mode": "time",
"start": "00:00",
"end": "23:59"
}
}
},
"testpicker2": {
"bsonType": "string",
"label": "测试picker1",
"description": "请选择开始时分",
"defaultValue": "12:22",
"componentForEdit": {
"name": "picker",
"props": {
"mode": "time",
"start": "00:00",
"end": "23:59"
}
}
}
}
}
二、用schema2code生成后,略加改动的源代码如下:
<template>
<view class="uni-container">
<uni-forms ref="form" :model="formData" validateTrigger="bind">
<uni-forms-item name="testswitch1" label="测试默认">
<switch @change="binddata('testswitch1', $event.detail.value)" :checked="formData.testswitch1"></switch>{{formData.testswitch1?'已开启':'已关闭'}}
</uni-forms-item>
<uni-forms-item ref="mytest1" name="testswitch2" label="测试onFieldChange">
<switch @change="(e)=>$refs.mytest1.onFieldChange($event.detail.value)" :checked="formData.testswitch2"></switch>{{formData.testswitch2?'已开启':'已关闭'}}
</uni-forms-item>
<uni-forms-item name="testpicker1" label="测试默认picker">
<picker mode="time" start="00:00" end="23:59" placeholder="请选择开始时分" @change="binddata('testpicker1', $event.detail.value)" v-model="formData.testpicker1"></picker>
</uni-forms-item>
<uni-forms-item ref="mytest2" name="testpicker2" label="测试picker1">
<picker mode="time" start="00:00" end="23:59" placeholder="请选择开始时分" @change="(e)=>$refs.mytest2.onFieldChange($event.detail.value)" v-model="formData.testpicker2">testtext{{formData.testpicker2}}</picker>
</uni-forms-item>
<view class="uni-button-group">
<button type="primary" class="uni-button" style="width: 100px;" @click="submit">提交</button>
<navigator open-type="navigateBack" style="margin-left: 15px;">
<button class="uni-button" style="width: 100px;">返回</button>
</navigator>
</view>
</uni-forms>
</view>
</template>
三、页面效果如下图:

