Skip to content

Commit 3765301

Browse files
committed
1. 1.3.3起,numberBox步进器推荐使用v-model双向绑定数值,无需在change回调中重新赋值
2. search组件新增clear清除内容事件 3. 优化程序选择模板在微信小程序上的问题 4. 优化countTo组件可能由于传入字符串数值而报错的问题 5. 由于form表单验证在某些表单域没有验证规则导致不会触发验证回调的问题 6. section组件新增可控制左边竖条的show-line参数 7. 优化验证码倒计时组件可能会触发多次的问题
1 parent 1043b6a commit 3765301

16 files changed

Lines changed: 60 additions & 44 deletions

File tree

pages.json

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@
22
"easycom": {
33
"^u-(.*)": "@/uview-ui/components/u-$1/u-$1.vue"
44
},
5-
// "condition": { //模式配置,仅开发期间生效
6-
// "current": 0, //当前激活的模式(list 的索引项)
7-
// "list": [{
8-
// "name": "test", //模式名称
9-
// "path": "pages/components/changelog.html", //启动页面,必选
10-
// "query": "id=1&name=2" //启动参数,在页面的onLoad函数里面得到
11-
// }]
12-
// },
5+
"condition": { //模式配置,仅开发期间生效
6+
"current": 0, //当前激活的模式(list 的索引项)
7+
"list": [{
8+
"name": "test", //模式名称
9+
"path": "pages/template/citySelect/index", //启动页面,必选
10+
"query": "id=1&name=2" //启动参数,在页面的onLoad函数里面得到
11+
}]
12+
},
1313
"pages": [
1414
// 演示-组件
1515
{

pages/componentsA/form/index.vue

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -229,7 +229,7 @@ export default {
229229
},
230230
{
231231
// 正则不能含有两边的引号
232-
pattern: /^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]+\S{6,12}$/,
232+
pattern: /^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]+\S{5,12}$/,
233233
message: '需同时含有字母和数字,长度在6-12之间',
234234
trigger: ['change','blur'],
235235
}
@@ -394,7 +394,8 @@ export default {
394394
if(this.$refs.uCode.canGetCode) {
395395
// 模拟向后端请求验证码
396396
uni.showLoading({
397-
title: '正在获取验证码'
397+
title: '正在获取验证码',
398+
mask: true
398399
})
399400
setTimeout(() => {
400401
uni.hideLoading();

pages/componentsB/form/index.vue

Lines changed: 0 additions & 8 deletions
This file was deleted.

pages/componentsC/numberBox/index.vue

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<view class="u-demo-wrap">
44
<view class="u-demo-title">演示效果</view>
55
<view class="u-demo-area">
6-
<u-number-box :value="value" :bg-color="bgColor" :color="color" :min="0"
6+
<u-number-box v-model="value" :bg-color="bgColor" :color="color" :min="0"
77
:step="step" :disabled="disabled" @change="change"></u-number-box>
88
</view>
99
</view>
@@ -63,8 +63,7 @@ export default {
6363
this.step = index == 0 ? 1 : index == 1 ? 3 : index == 2 ? 5 : 8;
6464
},
6565
change(e) {
66-
// console.log(e);
67-
// this.value = e.value;
66+
// console.log(this.value);
6867
}
6968
}
7069
};

pages/template/citySelect/u-city-select.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<template>
22
<u-popup v-model="value" mode="bottom" :popup="false" :mask="true" :closeable="true" :safe-area-inset-bottom="true"
33
close-icon-color="#ffffff" :z-index="uZIndex" :maskCloseAble="maskCloseAble" @close="close">
4-
<u-tabs :list="genTabsList" :is-scroll="true" :current="tabsIndex" @change="tabsChange" ref="tabs"></u-tabs>
4+
<u-tabs v-if="value" :list="genTabsList" :is-scroll="true" :current="tabsIndex" @change="tabsChange" ref="tabs"></u-tabs>
55
<view class="area-box">
66
<view class="u-flex" :class="{ 'change':isChange }">
77
<view class="area-item">

uview-ui/components/u-button/u-button.vue

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -382,12 +382,12 @@ export default {
382382
transform-origin: 0 0;
383383
left: 0;
384384
top: 0;
385-
width: 200.1%;
386-
height: 200.1%;
385+
width: 199.8%;
386+
height: 199.7%;
387387
-webkit-transform: scale(0.5, 0.5);
388388
transform: scale(0.5, 0.5);
389389
border: 1px solid currentColor;
390-
z-index: 0;
390+
z-index: 1;
391391
}
392392
393393
.u-bold-border {

uview-ui/components/u-count-to/u-count-to.vue

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -207,6 +207,8 @@ export default {
207207
return !isNaN(parseFloat(val));
208208
},
209209
formatNumber(num) {
210+
// 将num转为Number类型,因为其值可能为字符串数值,调用toFixed会报错
211+
num = Number(num);
210212
num = num.toFixed(Number(this.decimals));
211213
num += '';
212214
const x = num.split('.');

uview-ui/components/u-form-item/u-form-item.vue

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -210,8 +210,11 @@ export default {
210210
validation(trigger, callback = () => {}) {
211211
// blur和change是否有当前方式的校验规则
212212
let rules = this.getFilteredRule(trigger);
213-
// 判断是否有验证规则
214-
if (!rules || rules.length === 0) return;
213+
// 判断是否有验证规则,如果没有规则,也调用回调方法,否则父组件u-form会因为
214+
// 对count变量的统计错误而无法进入上一层的回调
215+
if (!rules || rules.length === 0) {
216+
return callback('');
217+
}
215218
// 设置当前的装填,标识为校验中
216219
this.validateState = 'validating';
217220
// 调用async-validator的方法

uview-ui/components/u-number-box/u-number-box.vue

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -120,8 +120,9 @@
120120
}
121121
},
122122
watch: {
123-
value(val) {
124-
this.inputVal = Number(val);
123+
value(val, val1) {
124+
// 防止用户在change事件回调中将回调值赋值给valut变量,导致change事件触发两次
125+
if(Number(val) != this.inputVal) this.inputVal = Number(val);
125126
},
126127
inputVal(v1, v2) {
127128
// 为了让用户能够删除所有输入值,重新输入内容,删除所有值后,内容为空字符串
@@ -229,6 +230,8 @@
229230
},
230231
handleChange(value, type) {
231232
if (this.disabled) return;
233+
// 发出input事件,修改通过v-model绑定的值,达到双向绑定的效果
234+
this.$emit('input', Number(value));
232235
this.$emit(type, {
233236
// 转为Number类型
234237
value: Number(value),

uview-ui/components/u-search/u-search.vue

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@
7171
* @event {Function} change 输入框内容发生变化时触发
7272
* @event {Function} search 用户确定搜索时触发,用户按回车键,或者手机键盘右下角的"搜索"键时触发
7373
* @event {Function} custom 用户点击右侧控件时触发
74+
* @event {Function} clear 用户点击清除按钮时触发
7475
* @example <u-search placeholder="日照香炉生紫烟" v-model="keyword"></u-search>
7576
*/
7677
export default {
@@ -230,6 +231,7 @@ export default {
230231
// 也可以作为用户通过this.$refs形式调用清空输入框内容
231232
clear() {
232233
this.keyword = '';
234+
this.$emit('clear');
233235
},
234236
// 确定搜索
235237
search() {

0 commit comments

Comments
 (0)