From 6afd13587f62f1f8260ef2b7848201f1822fa890 Mon Sep 17 00:00:00 2001 From: chenjiahan Date: Wed, 30 Dec 2020 17:42:43 +0800 Subject: [PATCH 1/3] chore: update caniuse-lite --- yarn.lock | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/yarn.lock b/yarn.lock index 605b0d836..396d0de4c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3383,15 +3383,10 @@ camelcase@^6.0.0: resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.0.0.tgz#5259f7c30e35e278f1bdc2a4d91230b37cad981e" integrity sha512-8KMDF1Vz2gzOq54ONPJS65IvTUaB1cHJ2DMM7MbPmLZljDH1qpzzLsWdiN9pHh6qvkRVDTi/07+eNGch/oLU4w== -caniuse-lite@^1.0.30001038, caniuse-lite@^1.0.30001039: - version "1.0.30001043" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001043.tgz#1b561de27aefbe6ff99e41866b8d7d87840c513b" - integrity sha512-MrBDRPJPDBYwACtSQvxg9+fkna5jPXhJlKmuxenl/ml9uf8LHKlDmLpElu+zTW/bEz7lC1m0wTDD7jiIB+hgFg== - -caniuse-lite@^1.0.30001087, caniuse-lite@^1.0.30001088: - version "1.0.30001093" - resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001093.tgz#833e80f64b1a0455cbceed2a4a3baf19e4abd312" - integrity sha512-0+ODNoOjtWD5eS9aaIpf4K0gQqZfILNY4WSNuYzeT1sXni+lMrrVjc0odEobJt6wrODofDZUX8XYi/5y7+xl8g== +caniuse-lite@^1.0.30001038, caniuse-lite@^1.0.30001039, caniuse-lite@^1.0.30001087, caniuse-lite@^1.0.30001088: + version "1.0.30001171" + resolved "https://registry.npm.taobao.org/caniuse-lite/download/caniuse-lite-1.0.30001171.tgz?cache=0&sync_timestamp=1609200352224&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcaniuse-lite%2Fdownload%2Fcaniuse-lite-1.0.30001171.tgz#3291e11e02699ad0a29e69b8d407666fc843eba7" + integrity sha1-MpHhHgJpmtCinmm41Admb8hD66c= capture-exit@^2.0.0: version "2.0.0" From 5137fcf76f6d12fb27fd45862b17e276ea0c83ae Mon Sep 17 00:00:00 2001 From: nemo-shen Date: Sat, 2 Jan 2021 12:47:26 +0800 Subject: [PATCH 2/3] feat(NumberKeyboard): add number random prop (#7841) --- src/number-keyboard/README.md | 38 ++++++++++++++++++++++++++ src/number-keyboard/README.zh-CN.md | 38 ++++++++++++++++++++++++++ src/number-keyboard/demo/index.vue | 2 ++ src/number-keyboard/index.js | 9 ++++++ src/number-keyboard/test/index.spec.js | 19 +++++++++++++ 5 files changed, 106 insertions(+) diff --git a/src/number-keyboard/README.md b/src/number-keyboard/README.md index 3e2032e33..dff8e8adf 100644 --- a/src/number-keyboard/README.md +++ b/src/number-keyboard/README.md @@ -111,6 +111,43 @@ Use `title` prop to set keyboard title. /> ``` +### Number Random + +Use `random-key-order` prop to random sort number keypads. + +```html +弹出配置随机数字的键盘 + +``` + +```js +import { Toast } from 'vant'; + +export default { + data() { + return { + show: true, + }; + }, + methods: { + onInput(value) { + Toast(value); + }, + onDelete() { + Toast('删除'); + }, + }, +}; +``` + ### Bind Value ```html @@ -160,6 +197,7 @@ export default { | hide-on-click-outside | Whether to hide keyboard when outside is clicked | _boolean_ | `true` | | get-container `v2.10.0` | Return the mount node for NumberKeyboard | _string \| () => Element_ | - | | safe-area-inset-bottom | Whether to enable bottom safe area adaptation | _boolean_ | `true` | +| random-key-order | whether to enable random sort number keypads | _boolean_ | `false` | ### Events diff --git a/src/number-keyboard/README.zh-CN.md b/src/number-keyboard/README.zh-CN.md index 9949a7d14..e5215fbe2 100644 --- a/src/number-keyboard/README.zh-CN.md +++ b/src/number-keyboard/README.zh-CN.md @@ -122,6 +122,43 @@ export default { /> ``` +### 随机数字键盘 + +通过 `random-key-order` 属性可以随机排序数字键盘,常用于安全等级较高的场景 + +```html +弹出配置随机数字的键盘 + +``` + +```js +import { Toast } from 'vant'; + +export default { + data() { + return { + show: true, + }; + }, + methods: { + onInput(value) { + Toast(value); + }, + onDelete() { + Toast('删除'); + }, + }, +}; +``` + ### 双向绑定 可以通过 `v-model` 绑定键盘当前输入值。 @@ -173,6 +210,7 @@ export default { | hide-on-click-outside | 点击外部时是否收起键盘 | _boolean_ | `true` | | get-container `v2.10.0` | 指定挂载的节点,[用法示例](#/zh-CN/popup#zhi-ding-gua-zai-wei-zhi) | _string \| () => Element_ | - | | safe-area-inset-bottom | 是否开启[底部安全区适配](#/zh-CN/advanced-usage#di-bu-an-quan-qu-gua-pei) | _boolean_ | `true` | +| random-key-order | 是否随机键盘数字 | _boolean_ | `false` | ### Events diff --git a/src/number-keyboard/demo/index.vue b/src/number-keyboard/demo/index.vue index 9b33eae08..32fb81afc 100644 --- a/src/number-keyboard/demo/index.vue +++ b/src/number-keyboard/demo/index.vue @@ -15,6 +15,7 @@ {{ t('button5') }} + + diff --git a/src/number-keyboard/index.js b/src/number-keyboard/index.js index 5af8c6b98..46c730b03 100644 --- a/src/number-keyboard/index.js +++ b/src/number-keyboard/index.js @@ -59,6 +59,10 @@ export default createComponent({ type: Boolean, default: true, }, + randomKeyOrder: { + type: Boolean, + default: false, + }, }, watch: { @@ -84,6 +88,11 @@ export default createComponent({ for (let i = 1; i <= 9; i++) { keys.push({ text: i }); } + + if (this.randomKeyOrder) { + keys.sort(() => (Math.random() > 0.5 ? 1 : -1)); + } + return keys; }, diff --git a/src/number-keyboard/test/index.spec.js b/src/number-keyboard/test/index.spec.js index 39990660e..cb2f1020a 100644 --- a/src/number-keyboard/test/index.spec.js +++ b/src/number-keyboard/test/index.spec.js @@ -238,3 +238,22 @@ test('close-button-loading prop', () => { expect(wrapper.contains('.van-key__loading-icon')).toBeTruthy(); }); +test('random-key-order prop', () => { + const wrapper = mount(NumberKeyboard, { + propsData: { + show: true, + randomKeyOrder: true, + }, + }); + + const keys = []; + const clickKeys = []; + for (let i = 0; i < 9; i++) { + keys.push(i + 1); + + clickKey(wrapper.findAll('.van-key').at(i)); + clickKeys.push(wrapper.emitted('input')[i][0]); + } + + expect(keys.every((v, k) => keys[k] === clickKeys[k])).toEqual(false); +}); From fd385bce9d7fff087ea949d9cf94da201391ac34 Mon Sep 17 00:00:00 2001 From: neverland Date: Sat, 2 Jan 2021 12:59:55 +0800 Subject: [PATCH 3/3] docs(NumberKeyboard): add random key order demo (#7844) --- src/number-keyboard/README.md | 34 ++++--------------- src/number-keyboard/README.zh-CN.md | 32 ++++------------- src/number-keyboard/demo/index.vue | 20 +++++++++-- src/number-keyboard/index.js | 5 +-- .../test/__snapshots__/demo.spec.js.snap | 7 ++++ 5 files changed, 39 insertions(+), 59 deletions(-) diff --git a/src/number-keyboard/README.md b/src/number-keyboard/README.md index dff8e8adf..a9381d5bd 100644 --- a/src/number-keyboard/README.md +++ b/src/number-keyboard/README.md @@ -111,43 +111,23 @@ Use `title` prop to set keyboard title. /> ``` -### Number Random +### Random Key Order -Use `random-key-order` prop to random sort number keypads. +Use `random-key-order` prop to shuffle the order of keys. ```html -弹出配置随机数字的键盘 + + Show Keyboard With Random Key Order + ``` -```js -import { Toast } from 'vant'; - -export default { - data() { - return { - show: true, - }; - }, - methods: { - onInput(value) { - Toast(value); - }, - onDelete() { - Toast('删除'); - }, - }, -}; -``` - ### Bind Value ```html @@ -197,7 +177,7 @@ export default { | hide-on-click-outside | Whether to hide keyboard when outside is clicked | _boolean_ | `true` | | get-container `v2.10.0` | Return the mount node for NumberKeyboard | _string \| () => Element_ | - | | safe-area-inset-bottom | Whether to enable bottom safe area adaptation | _boolean_ | `true` | -| random-key-order | whether to enable random sort number keypads | _boolean_ | `false` | +| random-key-order `v2.12.2` | Whether to shuffle the order of keys | _boolean_ | `false` | ### Events diff --git a/src/number-keyboard/README.zh-CN.md b/src/number-keyboard/README.zh-CN.md index e5215fbe2..2f7b22bad 100644 --- a/src/number-keyboard/README.zh-CN.md +++ b/src/number-keyboard/README.zh-CN.md @@ -124,41 +124,21 @@ export default { ### 随机数字键盘 -通过 `random-key-order` 属性可以随机排序数字键盘,常用于安全等级较高的场景 +通过 `random-key-order` 属性可以随机排序数字键盘,常用于安全等级较高的场景。 ```html -弹出配置随机数字的键盘 + + 弹出配置随机数字的键盘 + ``` -```js -import { Toast } from 'vant'; - -export default { - data() { - return { - show: true, - }; - }, - methods: { - onInput(value) { - Toast(value); - }, - onDelete() { - Toast('删除'); - }, - }, -}; -``` - ### 双向绑定 可以通过 `v-model` 绑定键盘当前输入值。 @@ -210,7 +190,7 @@ export default { | hide-on-click-outside | 点击外部时是否收起键盘 | _boolean_ | `true` | | get-container `v2.10.0` | 指定挂载的节点,[用法示例](#/zh-CN/popup#zhi-ding-gua-zai-wei-zhi) | _string \| () => Element_ | - | | safe-area-inset-bottom | 是否开启[底部安全区适配](#/zh-CN/advanced-usage#di-bu-an-quan-qu-gua-pei) | _boolean_ | `true` | -| random-key-order | 是否随机键盘数字 | _boolean_ | `false` | +| random-key-order `v2.12.2` | 是否将通过随机顺序展示按键 | _boolean_ | `false` | ### Events diff --git a/src/number-keyboard/demo/index.vue b/src/number-keyboard/demo/index.vue index 32fb81afc..256ccb9f7 100644 --- a/src/number-keyboard/demo/index.vue +++ b/src/number-keyboard/demo/index.vue @@ -15,6 +15,9 @@ {{ t('button5') }} + + {{ t('button6') }} + + + - @@ -93,10 +104,12 @@ export default { button3: '弹出身份证号键盘', button4: '弹出带标题的键盘', button5: '弹出配置多个按键的键盘', + button6: '弹出配置随机数字的键盘', + extraKey: '左下角按键内容', bindValue: '双向绑定', clickToInput: '点此输入', - extraKey: '左下角按键内容', multiExtraKey: '配置多个按键', + randomKeyOrder: '随机数字键盘', }, 'en-US': { close: 'Close', @@ -107,10 +120,12 @@ export default { button3: 'Show IdNumber Keyboard', button4: 'Show Keyboard With Title', button5: 'Show Keyboard With Multiple ExtraKey', + button6: 'Show Keyboard With Random Key Order', bindValue: 'Bind Value', clickToInput: 'Click To Input', extraKey: 'IdNumber Keyboard', multiExtraKey: 'Multiple ExtraKey', + randomKeyOrder: 'Random Key Order', }, }, @@ -118,6 +133,7 @@ export default { return { value: '', keyboard: 'default', + isTest: process.env.NODE_ENV === 'test', }; }, diff --git a/src/number-keyboard/index.js b/src/number-keyboard/index.js index 46c730b03..949b04aba 100644 --- a/src/number-keyboard/index.js +++ b/src/number-keyboard/index.js @@ -24,6 +24,7 @@ export default createComponent({ show: Boolean, title: String, zIndex: [Number, String], + randomKeyOrder: Boolean, closeButtonText: String, deleteButtonText: String, closeButtonLoading: Boolean, @@ -59,10 +60,6 @@ export default createComponent({ type: Boolean, default: true, }, - randomKeyOrder: { - type: Boolean, - default: false, - }, }, watch: { diff --git a/src/number-keyboard/test/__snapshots__/demo.spec.js.snap b/src/number-keyboard/test/__snapshots__/demo.spec.js.snap index 8de8b1efe..754986126 100644 --- a/src/number-keyboard/test/__snapshots__/demo.spec.js.snap +++ b/src/number-keyboard/test/__snapshots__/demo.spec.js.snap @@ -32,6 +32,12 @@ exports[`renders demo correctly 1`] = ` +
+
+ 弹出配置随机数字的键盘 +
+ +
双向绑定
@@ -277,6 +283,7 @@ exports[`renders demo correctly 1`] = `
+