diff --git a/packages/vant-cli/README.md b/packages/vant-cli/README.md index 332fd2583..ecfa4c07d 100644 --- a/packages/vant-cli/README.md +++ b/packages/vant-cli/README.md @@ -73,7 +73,7 @@ yarn add @vant/cli --dev 扫码加入 Vant Cli 交流群,若群二维码过期,可以联系有赞前端小秘书加群 - + ## 关于桌面端组件 diff --git a/packages/vant-cli/site/desktop/utils.js b/packages/vant-cli/site/desktop/utils.js index 154d088a5..085afa72f 100644 --- a/packages/vant-cli/site/desktop/utils.js +++ b/packages/vant-cli/site/desktop/utils.js @@ -4,9 +4,7 @@ export function scrollToAnchor(selector) { const timer = setInterval(() => { const el = document.querySelector(selector); if (el) { - el.scrollIntoView({ - behavior: 'smooth', - }); + el.scrollIntoView(); clearInterval(timer); } else { count++; diff --git a/src/address-edit/test/__snapshots__/demo.spec.js.snap b/src/address-edit/test/__snapshots__/demo.spec.js.snap index c434308f4..376043844 100644 --- a/src/address-edit/test/__snapshots__/demo.spec.js.snap +++ b/src/address-edit/test/__snapshots__/demo.spec.js.snap @@ -51,7 +51,11 @@ exports[`renders demo correctly 1`] = ` -
+
diff --git a/src/address-edit/test/__snapshots__/index.spec.js.snap b/src/address-edit/test/__snapshots__/index.spec.js.snap index 0a71ccce1..c0036ebe1 100644 --- a/src/address-edit/test/__snapshots__/index.spec.js.snap +++ b/src/address-edit/test/__snapshots__/index.spec.js.snap @@ -35,7 +35,9 @@ exports[`create a AddressEdit 1`] = ` -
+
`; @@ -88,7 +90,9 @@ exports[`create a AddressEdit with props 1`] = ` -
+
`; @@ -141,7 +145,9 @@ exports[`set-default 1`] = ` -
+
`; @@ -194,7 +200,9 @@ exports[`show area component 1`] = ` -
+
`; @@ -247,7 +255,9 @@ exports[`show area component 2`] = ` -
+
`; @@ -286,6 +296,8 @@ exports[`valid area placeholder confirm 1`] = ` -
+
`; diff --git a/src/address-list/test/__snapshots__/demo.spec.js.snap b/src/address-list/test/__snapshots__/demo.spec.js.snap index 46d2927fc..d52ece63a 100644 --- a/src/address-list/test/__snapshots__/demo.spec.js.snap +++ b/src/address-list/test/__snapshots__/demo.spec.js.snap @@ -40,7 +40,9 @@ exports[`renders demo correctly 1`] = ` -
+
diff --git a/src/address-list/test/__snapshots__/index.spec.js.snap b/src/address-list/test/__snapshots__/index.spec.js.snap index d9ffb7d07..4b8ac0806 100644 --- a/src/address-list/test/__snapshots__/index.spec.js.snap +++ b/src/address-list/test/__snapshots__/index.spec.js.snap @@ -22,6 +22,8 @@ exports[`unswitchable 1`] = ` -
+
`; diff --git a/src/button/index.less b/src/button/index.less index 0201d95c6..691f967f3 100644 --- a/src/button/index.less +++ b/src/button/index.less @@ -2,9 +2,7 @@ .van-button { position: relative; - display: inline-flex; - align-items: center; - justify-content: center; + display: inline-block; box-sizing: border-box; height: @button-default-height; margin: 0; @@ -125,7 +123,7 @@ } &--block { - display: flex; + display: block; width: 100%; } @@ -146,6 +144,15 @@ border-radius: 0; } + // align-items are ignored when flex container is a button in legacy safari + // see: https://bugs.webkit.org/show_bug.cgi?id=169700 + &__content { + display: flex; + align-items: center; + justify-content: center; + height: 100%; + } + &__icon { min-width: 1em; font-size: 1.2em; diff --git a/src/button/index.tsx b/src/button/index.tsx index 48764640c..6b3c6e5c2 100644 --- a/src/button/index.tsx +++ b/src/button/index.tsx @@ -149,7 +149,7 @@ function Button( onTouchstart={onTouchstart} {...inherit(ctx)} > - {Content()} +
{Content()}
); } diff --git a/src/button/test/__snapshots__/demo.spec.js.snap b/src/button/test/__snapshots__/demo.spec.js.snap index eda6ae532..9d218df71 100644 --- a/src/button/test/__snapshots__/demo.spec.js.snap +++ b/src/button/test/__snapshots__/demo.spec.js.snap @@ -3,26 +3,84 @@ exports[`renders demo correctly 1`] = `
-
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
`; diff --git a/src/button/test/__snapshots__/index.spec.js.snap b/src/button/test/__snapshots__/index.spec.js.snap index e247ce2a6..239b474c2 100644 --- a/src/button/test/__snapshots__/index.spec.js.snap +++ b/src/button/test/__snapshots__/index.spec.js.snap @@ -1,12 +1,16 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`icon-prefix prop 1`] = ` - + `; exports[`loading-size prop 1`] = ` `; diff --git a/src/calendar/components/Month.js b/src/calendar/components/Month.js index 300b7cb0a..2703fbec1 100644 --- a/src/calendar/components/Month.js +++ b/src/calendar/components/Month.js @@ -206,6 +206,7 @@ export default createComponent({ if ( type === 'start' || type === 'end' || + type === 'start-end' || type === 'multiple-selected' || type === 'multiple-middle' ) { diff --git a/src/calendar/test/__snapshots__/index.spec.js.snap b/src/calendar/test/__snapshots__/index.spec.js.snap index f8af63e92..378b78307 100644 --- a/src/calendar/test/__snapshots__/index.spec.js.snap +++ b/src/calendar/test/__snapshots__/index.spec.js.snap @@ -47,7 +47,9 @@ exports[`color prop when type is range 1`] = ` - + `; @@ -98,7 +100,9 @@ exports[`color prop when type is single 1`] = ` - + `; @@ -152,7 +156,9 @@ exports[`formatter prop 1`] = ` - + `; @@ -206,7 +212,9 @@ exports[`popup wrapper 2`] = ` - + @@ -259,7 +267,9 @@ exports[`row-height prop 1`] = ` - + `; diff --git a/src/card/test/__snapshots__/demo.spec.js.snap b/src/card/test/__snapshots__/demo.spec.js.snap index 7a2eae8bc..016ba0f01 100644 --- a/src/card/test/__snapshots__/demo.spec.js.snap +++ b/src/card/test/__snapshots__/demo.spec.js.snap @@ -77,11 +77,15 @@ exports[`renders demo correctly 1`] = ` + + diff --git a/src/checkbox/test/__snapshots__/demo.spec.js.snap b/src/checkbox/test/__snapshots__/demo.spec.js.snap index c0f82db6b..d0eee0534 100644 --- a/src/checkbox/test/__snapshots__/demo.spec.js.snap +++ b/src/checkbox/test/__snapshots__/demo.spec.js.snap @@ -116,11 +116,15 @@ exports[`renders demo correctly 1`] = ` 复选框 c -
+ + +
diff --git a/src/circle/test/__snapshots__/demo.spec.js.snap b/src/circle/test/__snapshots__/demo.spec.js.snap index 80e56effa..6e0db1b94 100644 --- a/src/circle/test/__snapshots__/demo.spec.js.snap +++ b/src/circle/test/__snapshots__/demo.spec.js.snap @@ -48,6 +48,10 @@ exports[`renders demo correctly 1`] = `
大小定制
-
+
`; diff --git a/src/contact-card/test/__snapshots__/demo.spec.js.snap b/src/contact-card/test/__snapshots__/demo.spec.js.snap index 5483ee003..dc45fe441 100644 --- a/src/contact-card/test/__snapshots__/demo.spec.js.snap +++ b/src/contact-card/test/__snapshots__/demo.spec.js.snap @@ -20,7 +20,9 @@ exports[`renders demo correctly 1`] = ` -
+
-
+
diff --git a/src/contact-card/test/__snapshots__/index.spec.js.snap b/src/contact-card/test/__snapshots__/index.spec.js.snap index 4425c0489..5c4e54037 100644 --- a/src/contact-card/test/__snapshots__/index.spec.js.snap +++ b/src/contact-card/test/__snapshots__/index.spec.js.snap @@ -12,6 +12,8 @@ exports[`ContactList render 1`] = ` -
+
`; diff --git a/src/coupon-list/test/__snapshots__/index.spec.js.snap b/src/coupon-list/test/__snapshots__/index.spec.js.snap index 915cc62fd..cbbd843d0 100644 --- a/src/coupon-list/test/__snapshots__/index.spec.js.snap +++ b/src/coupon-list/test/__snapshots__/index.spec.js.snap @@ -7,7 +7,9 @@ exports[`empty-image prop 1`] = `
- +
@@ -30,7 +32,9 @@ exports[`empty-image prop 1`] = `
-
+
`; @@ -57,7 +61,9 @@ exports[`render coupon list 1`] = `
- +
@@ -176,7 +182,9 @@ exports[`render coupon list 1`] = `
-
+
`; @@ -203,7 +211,9 @@ exports[`render empty coupon list 1`] = `
- +
@@ -230,6 +240,8 @@ exports[`render empty coupon list 1`] = `
-
+
`; diff --git a/src/dialog/test/__snapshots__/demo.spec.js.snap b/src/dialog/test/__snapshots__/demo.spec.js.snap index 0e32cfd65..d1c83443a 100644 --- a/src/dialog/test/__snapshots__/demo.spec.js.snap +++ b/src/dialog/test/__snapshots__/demo.spec.js.snap @@ -2,24 +2,38 @@ exports[`renders demo correctly 1`] = `
-
+
-
+ +
-
+ +
-
+ +
+
+ diff --git a/src/dialog/test/__snapshots__/index.spec.js.snap b/src/dialog/test/__snapshots__/index.spec.js.snap index 100a324a3..09ae657df 100644 --- a/src/dialog/test/__snapshots__/index.spec.js.snap +++ b/src/dialog/test/__snapshots__/index.spec.js.snap @@ -2,26 +2,38 @@ exports[`button color 1`] = ` `; exports[`button text 1`] = ` `; exports[`default slot 1`] = ` `; exports[`title slot 1`] = ` `; diff --git a/src/empty/test/__snapshots__/demo.spec.js.snap b/src/empty/test/__snapshots__/demo.spec.js.snap index fb3d618ca..a2ae408b9 100644 --- a/src/empty/test/__snapshots__/demo.spec.js.snap +++ b/src/empty/test/__snapshots__/demo.spec.js.snap @@ -44,9 +44,11 @@ exports[`renders demo correctly 1`] = `

描述文字

-
+
+ diff --git a/src/field/README.md b/src/field/README.md index ae18cff5c..4441842ef 100644 --- a/src/field/README.md +++ b/src/field/README.md @@ -17,7 +17,7 @@ The value of field is bound with v-model. ```html - + ``` diff --git a/src/field/README.zh-CN.md b/src/field/README.zh-CN.md index e1d71709a..14d63932c 100644 --- a/src/field/README.zh-CN.md +++ b/src/field/README.zh-CN.md @@ -22,7 +22,7 @@ Vue.use(Field); ```html - + ``` diff --git a/src/field/demo/BasicUsage.vue b/src/field/demo/BasicUsage.vue index 842564c89..8c805a6ce 100644 --- a/src/field/demo/BasicUsage.vue +++ b/src/field/demo/BasicUsage.vue @@ -1,7 +1,11 @@ @@ -10,9 +14,11 @@ export default { i18n: { 'zh-CN': { + label: '文本', placeholder: '请输入文本', }, 'en-US': { + label: 'Label', placeholder: 'Text', }, }, diff --git a/src/field/index.js b/src/field/index.js index 59808aa0d..6c4db0f03 100644 --- a/src/field/index.js +++ b/src/field/index.js @@ -356,8 +356,8 @@ export default createComponent({ const ENTER_CODE = 13; if (event.keyCode === ENTER_CODE) { - // should not submit form on etner - if (this.type !== 'textarea') { + const submitOnEnter = this.getProp('submitOnEnter'); + if (!submitOnEnter && this.type !== 'textarea') { preventDefault(event); } diff --git a/src/field/test/__snapshots__/demo.spec.js.snap b/src/field/test/__snapshots__/demo.spec.js.snap index 4c8bb4137..794067c85 100644 --- a/src/field/test/__snapshots__/demo.spec.js.snap +++ b/src/field/test/__snapshots__/demo.spec.js.snap @@ -5,7 +5,8 @@ exports[`renders demo correctly 1`] = `
-
+
文本
+
@@ -98,9 +99,11 @@ exports[`renders demo correctly 1`] = `
短信验证码
-
+
+
diff --git a/src/form/README.md b/src/form/README.md index 062f34e4e..e2e49b016 100644 --- a/src/form/README.md +++ b/src/form/README.md @@ -434,6 +434,7 @@ export default { | scroll-to-error `v2.5.2` | Whether to scroll to the error field when validation failed | _boolean_ | `false` | | show-error `v2.6.0` | Whether to highlight input when validation failed | _boolean_ | `true` | | show-error-message `v2.5.8` | Whether to show error message when validation failed | _boolean_ | `true` | +| submit-on-enter `v2.8.3` | Whether to submit form on enter | _boolean_ | `true` | ### Data Structure of Rule @@ -457,12 +458,12 @@ export default { Use [ref](https://vuejs.org/v2/api/#ref) to get Form instance and call instance methods -| Name | Description | Attribute | Return value | -| ---------------------- | ---------------- | --------------- | ------------ | -| submit | Submit form | - | - | -| validate | Validate form | _name?: string_ | _Promise_ | -| resetValidation | Reset validation | _name?: string_ | - | -| scrollToField `v2.5.2` | Scroll to field | _name: string_ | - | +| Name | Description | Attribute | Return value | +| --- | --- | --- | --- | +| submit | Submit form | - | - | +| validate | Validate form | _name?: string_ | _Promise_ | +| resetValidation | Reset validation | _name?: string_ | - | +| scrollToField `v2.8.3` | Scroll to field | _name: string, alignToTop: boolean_ | - | ### Slots diff --git a/src/form/README.zh-CN.md b/src/form/README.zh-CN.md index 00ad6e42f..83327109d 100644 --- a/src/form/README.zh-CN.md +++ b/src/form/README.zh-CN.md @@ -469,6 +469,7 @@ export default { | scroll-to-error `v2.5.2` | 是否在提交表单且校验不通过时滚动至错误的表单项 | _boolean_ | `false` | | show-error `v2.6.0` | 是否在校验不通过时标红输入框 | _boolean_ | `true` | | show-error-message `v2.5.8` | 是否在校验不通过时在输入框下方展示错误提示 | _boolean_ | `true` | +| submit-on-enter `v2.8.3` | 是否在按下回车键时提交表单 | _boolean_ | `true` | > 表单项的 API 参见:[Field 组件](#/zh-CN/field#api) @@ -501,7 +502,7 @@ export default { | submit | 提交表单,与点击提交按钮的效果等价 | - | - | | validate | 验证表单,支持传入`name`来验证单个表单项 | _name?: string_ | _Promise_ | | resetValidation | 重置表单项的验证提示,支持传入`name`来重置单个表单项 | _name?: string_ | - | -| scrollToField `v2.5.2` | 滚动到对应表单项的位置 | _name: string_ | - | +| scrollToField `v2.8.3` | 滚动到对应表单项的位置,默认滚动到顶部,第二个参数传 false 可滚动至底部 | _name: string, alignToTop: boolean_ | - | ### Slots diff --git a/src/form/index.js b/src/form/index.js index ba5bf22be..d36b5bd8e 100644 --- a/src/form/index.js +++ b/src/form/index.js @@ -12,6 +12,10 @@ export default createComponent({ scrollToError: Boolean, validateFirst: Boolean, errorMessageAlign: String, + submitOnEnter: { + type: Boolean, + default: true, + }, validateTrigger: { type: String, default: 'onBlur', @@ -119,10 +123,10 @@ export default createComponent({ }, // @exposed-api - scrollToField(name) { + scrollToField(name, options) { this.fields.forEach((item) => { if (item.name === name) { - item.$el.scrollIntoView(); + item.$el.scrollIntoView(options); } }); }, diff --git a/src/form/test/__snapshots__/demo.spec.js.snap b/src/form/test/__snapshots__/demo.spec.js.snap index 341ad1e37..c978f58fe 100644 --- a/src/form/test/__snapshots__/demo.spec.js.snap +++ b/src/form/test/__snapshots__/demo.spec.js.snap @@ -16,9 +16,11 @@ exports[`renders demo correctly 1`] = `
-
+ +
@@ -41,9 +43,11 @@ exports[`renders demo correctly 1`] = `
-
+ +
@@ -208,9 +212,11 @@ exports[`renders demo correctly 1`] = `
-
+ + diff --git a/src/form/test/__snapshots__/events.spec.js.snap b/src/form/test/__snapshots__/events.spec.js.snap index 9904e678f..a20948ddc 100644 --- a/src/form/test/__snapshots__/events.spec.js.snap +++ b/src/form/test/__snapshots__/events.spec.js.snap @@ -13,6 +13,8 @@ exports[`failed event 1`] = `
B failed
- + `; diff --git a/src/form/test/__snapshots__/methods.spec.js.snap b/src/form/test/__snapshots__/methods.spec.js.snap index 03deea7e9..6c019b6b1 100644 --- a/src/form/test/__snapshots__/methods.spec.js.snap +++ b/src/form/test/__snapshots__/methods.spec.js.snap @@ -12,6 +12,8 @@ exports[`resetValidation method - reset one field 1`] = `
B failed
- + `; diff --git a/src/form/test/__snapshots__/props.spec.js.snap b/src/form/test/__snapshots__/props.spec.js.snap index d33e3b524..b708bbb89 100644 --- a/src/form/test/__snapshots__/props.spec.js.snap +++ b/src/form/test/__snapshots__/props.spec.js.snap @@ -93,6 +93,8 @@ exports[`validate-first prop 1`] = `
- + `; diff --git a/src/goods-action/test/__snapshots__/demo.spec.js.snap b/src/goods-action/test/__snapshots__/demo.spec.js.snap index 4c36ac40d..6a7f9e539 100644 --- a/src/goods-action/test/__snapshots__/demo.spec.js.snap +++ b/src/goods-action/test/__snapshots__/demo.spec.js.snap @@ -13,7 +13,11 @@ exports[`renders demo correctly 1`] = `
购物车 - +
@@ -32,7 +36,11 @@ exports[`renders demo correctly 1`] = `
12
店铺 -
+
@@ -51,7 +59,11 @@ exports[`renders demo correctly 1`] = `
已收藏 -
+
@@ -65,7 +77,11 @@ exports[`renders demo correctly 1`] = `
购物车 -
+ diff --git a/src/goods-action/test/__snapshots__/index.spec.js.snap b/src/goods-action/test/__snapshots__/index.spec.js.snap index c6108e99b..50696c6d1 100644 --- a/src/goods-action/test/__snapshots__/index.spec.js.snap +++ b/src/goods-action/test/__snapshots__/index.spec.js.snap @@ -1,6 +1,10 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`Button render default slot 1`] = ``; +exports[`Button render default slot 1`] = ` + +`; exports[`Icon render default slot 1`] = `
diff --git a/src/notify/test/__snapshots__/demo.spec.js.snap b/src/notify/test/__snapshots__/demo.spec.js.snap index 1ca33dc29..f55c7335b 100644 --- a/src/notify/test/__snapshots__/demo.spec.js.snap +++ b/src/notify/test/__snapshots__/demo.spec.js.snap @@ -2,10 +2,24 @@ exports[`renders demo correctly 1`] = `
-
+
-
+
-
+
`; diff --git a/src/overlay/test/__snapshots__/demo.spec.js.snap b/src/overlay/test/__snapshots__/demo.spec.js.snap index 11eab0ba7..2179861ea 100644 --- a/src/overlay/test/__snapshots__/demo.spec.js.snap +++ b/src/overlay/test/__snapshots__/demo.spec.js.snap @@ -2,10 +2,14 @@ exports[`renders demo correctly 1`] = `
-
+
-
+
diff --git a/src/picker/index.js b/src/picker/index.js index 438b7120a..cdbb136a4 100644 --- a/src/picker/index.js +++ b/src/picker/index.js @@ -1,7 +1,7 @@ // Utils import { createNamespace, isObject } from '../utils'; import { preventDefault } from '../utils/dom/event'; -import { BORDER_TOP_BOTTOM, BORDER_UNSET_TOP_BOTTOM } from '../utils/constant'; +import { BORDER_UNSET_TOP_BOTTOM } from '../utils/constant'; import { pickerProps } from './shared'; // Components diff --git a/src/sku/test/__snapshots__/demo.spec.js.snap b/src/sku/test/__snapshots__/demo.spec.js.snap index 3bbf590d9..7e7703f78 100644 --- a/src/sku/test/__snapshots__/demo.spec.js.snap +++ b/src/sku/test/__snapshots__/demo.spec.js.snap @@ -4,27 +4,35 @@ exports[`renders demo correctly 1`] = `
-
+
+
-
+
+
-
+
+
-
+
+ `; diff --git a/src/steps/test/__snapshots__/demo.spec.js.snap b/src/steps/test/__snapshots__/demo.spec.js.snap index cd11ee3e3..98a80d91e 100644 --- a/src/steps/test/__snapshots__/demo.spec.js.snap +++ b/src/steps/test/__snapshots__/demo.spec.js.snap @@ -27,7 +27,9 @@ exports[`renders demo correctly 1`] = `
- +
diff --git a/src/sticky/test/__snapshots__/demo.spec.js.snap b/src/sticky/test/__snapshots__/demo.spec.js.snap index 3fa91b535..07457da6f 100644 --- a/src/sticky/test/__snapshots__/demo.spec.js.snap +++ b/src/sticky/test/__snapshots__/demo.spec.js.snap @@ -4,24 +4,30 @@ exports[`renders demo correctly 1`] = `
-
+
+
-
+
+
-
+
+
diff --git a/src/style/var.less b/src/style/var.less index 3da28bbe5..c31b6e683 100644 --- a/src/style/var.less +++ b/src/style/var.less @@ -349,7 +349,7 @@ @field-input-text-color: @text-color; @field-input-error-text-color: @red; @field-input-disabled-text-color: @gray-6; -@field-placeholder-text-color: @gray-6; +@field-placeholder-text-color: @gray-5; @field-icon-size: 16px; @field-clear-icon-size: 16px; @field-clear-icon-color: @gray-5; diff --git a/src/submit-bar/test/__snapshots__/demo.spec.js.snap b/src/submit-bar/test/__snapshots__/demo.spec.js.snap index c026d9925..df6874505 100644 --- a/src/submit-bar/test/__snapshots__/demo.spec.js.snap +++ b/src/submit-bar/test/__snapshots__/demo.spec.js.snap @@ -5,7 +5,9 @@ exports[`renders demo correctly 1`] = `
-
合计:¥30.50
+
合计:¥30.50
@@ -14,7 +16,9 @@ exports[`renders demo correctly 1`] = `
你的收货地址不支持同城送, 我们已为你推荐快递
-
合计:¥30.50
+
合计:¥30.50
@@ -22,7 +26,9 @@ exports[`renders demo correctly 1`] = `
合计:¥30.50
@@ -39,7 +45,9 @@ exports[`renders demo correctly 1`] = `
全选 -
合计:¥30.50
+
合计:¥30.50
diff --git a/src/submit-bar/test/__snapshots__/index.spec.js.snap b/src/submit-bar/test/__snapshots__/index.spec.js.snap index 7c24b7229..5241284d9 100644 --- a/src/submit-bar/test/__snapshots__/index.spec.js.snap +++ b/src/submit-bar/test/__snapshots__/index.spec.js.snap @@ -3,21 +3,27 @@ exports[`decimal-length prop 1`] = `
-
合计:¥1.1
+
合计:¥1.1
`; exports[`disable safe-area-inset-bottom prop 1`] = `
-
+
`; exports[`disable submit 1`] = `
-
合计:¥0.01
+
合计:¥0.01
`; @@ -25,7 +31,9 @@ exports[`disable submit 1`] = ` exports[`suffix-label prop 1`] = `
-
Label¥1.11Suffix Label
+
Label¥1.11Suffix Label
`; @@ -33,18 +41,24 @@ exports[`suffix-label prop 1`] = ` exports[`text-align prop 1`] = `
-
合计:¥1.11
+
合计:¥1.11
`; exports[`top slot 1`] = ` -
top
+
top
`; exports[`without price 1`] = `
-
+
`; diff --git a/src/swipe-cell/test/__snapshots__/demo.spec.js.snap b/src/swipe-cell/test/__snapshots__/demo.spec.js.snap index 3763302b7..2e1757d61 100644 --- a/src/swipe-cell/test/__snapshots__/demo.spec.js.snap +++ b/src/swipe-cell/test/__snapshots__/demo.spec.js.snap @@ -6,12 +6,18 @@ exports[`renders demo correctly 1`] = `
-
+
单元格
内容
-
+
@@ -39,19 +45,25 @@ exports[`renders demo correctly 1`] = `
-
+
-
+
单元格
内容
-
+
diff --git a/src/toast/test/__snapshots__/demo.spec.js.snap b/src/toast/test/__snapshots__/demo.spec.js.snap index 36b7a85d1..f06b2697b 100644 --- a/src/toast/test/__snapshots__/demo.spec.js.snap +++ b/src/toast/test/__snapshots__/demo.spec.js.snap @@ -2,10 +2,28 @@ exports[`renders demo correctly 1`] = `
-
-
-
-
-
+
+
+
+
+
`; diff --git a/src/uploader/test/__snapshots__/demo.spec.js.snap b/src/uploader/test/__snapshots__/demo.spec.js.snap index 4470b6b31..34b43c532 100644 --- a/src/uploader/test/__snapshots__/demo.spec.js.snap +++ b/src/uploader/test/__snapshots__/demo.spec.js.snap @@ -95,10 +95,12 @@ exports[`renders demo correctly 1`] = `
-
+
+
diff --git a/src/utils/format/number.ts b/src/utils/format/number.ts index 4a6004ad5..e1c71567b 100644 --- a/src/utils/format/number.ts +++ b/src/utils/format/number.ts @@ -4,12 +4,16 @@ export function range(num: number, min: number, max: number): number { function trimExtraChar(value: string, char: string, regExp: RegExp) { const index = value.indexOf(char); - - if (index > -1) { - return value.slice(0, index + 1) + value.slice(index).replace(regExp, ''); + + if (index === -1) { + return value; } - return value; + if (char === '-' && index !== 0) { + return value.slice(0, index); + } + + return value.slice(0, index + 1) + value.slice(index).replace(regExp, ''); } export function formatNumber(value: string, allowDot?: boolean) { diff --git a/src/utils/test/index.spec.js b/src/utils/test/index.spec.js index 8ce27efbe..281c07dc9 100644 --- a/src/utils/test/index.spec.js +++ b/src/utils/test/index.spec.js @@ -113,4 +113,5 @@ test('formatNumber', () => { expect(formatNumber('-1.2')).toEqual('-1'); expect(formatNumber('-1.2', true)).toEqual('-1.2'); expect(formatNumber('-1.2-', true)).toEqual('-1.2'); + expect(formatNumber('123-')).toEqual('123'); }); diff --git a/types/form.d.ts b/types/form.d.ts index df0742623..3f11ee7fd 100644 --- a/types/form.d.ts +++ b/types/form.d.ts @@ -7,5 +7,5 @@ export class Form extends VanComponent { resetValidation(name?: string): void; - scrollToField(name: string): void; + scrollToField(name: string, options?: boolean | ScrollIntoViewOptions): void; } diff --git a/types/picker.d.ts b/types/picker.d.ts index ac54d0471..a870a06b7 100644 --- a/types/picker.d.ts +++ b/types/picker.d.ts @@ -1,25 +1,25 @@ import { VanComponent } from './component'; export class Picker extends VanComponent { - getValues(): string[]; + getValues(): T[]; - setValues(values: string[]): void; + setValues(values: T[]): void; getIndexes(): number[]; setIndexes(indexes: number[]): void; - getColumnValue(columnIndex: number): string; + getColumnValue(columnIndex: number): T; - setColumnValue(columnIndex: number, value: string): void; + setColumnValue(columnIndex: number, value: T): void; getColumnIndex(columnIndex: number): number; setColumnIndex(columnIndex: number, optionIndex: number): void; - getColumnValues(columnIndex: number): string[]; + getColumnValues(columnIndex: number): T[]; - setColumnValues(columnIndex: number, values: string[]): void; + setColumnValues(columnIndex: number, values: T[]): void; confirm(): void; }