From a5c39425e86366564359a439ca05887a01c263b3 Mon Sep 17 00:00:00 2001 From: neverland Date: Sat, 19 Jan 2019 09:22:11 +0800 Subject: [PATCH] [improvement] NumberKeyboard: jsx (#2558) --- packages/number-keyboard/Key.js | 52 ++++++++ packages/number-keyboard/Key.vue | 48 ------- .../number-keyboard/{index.vue => index.js} | 124 +++++++----------- .../test/__snapshots__/demo.spec.js.snap | 6 +- .../test/__snapshots__/demo.spec.js.snap | 2 - 5 files changed, 104 insertions(+), 128 deletions(-) create mode 100644 packages/number-keyboard/Key.js delete mode 100644 packages/number-keyboard/Key.vue rename packages/number-keyboard/{index.vue => index.js} (55%) diff --git a/packages/number-keyboard/Key.js b/packages/number-keyboard/Key.js new file mode 100644 index 000000000..ef201ce61 --- /dev/null +++ b/packages/number-keyboard/Key.js @@ -0,0 +1,52 @@ +import { use } from '../utils'; + +const [sfc, bem] = use('key'); + +export default sfc({ + props: { + type: Array, + text: [String, Number] + }, + + data() { + return { + active: false + }; + }, + + computed: { + className() { + const types = this.type.slice(0); + this.active && types.push('active'); + return bem(types); + } + }, + + methods: { + onFocus() { + this.active = true; + this.$emit('press', this.text); + }, + + onBlur(event) { + event.preventDefault(); + event.stopPropagation(); + this.active = false; + } + }, + + render(h) { + const { onBlur } = this; + return ( + + {this.text} + + ); + } +}); diff --git a/packages/number-keyboard/Key.vue b/packages/number-keyboard/Key.vue deleted file mode 100644 index 7c24309b5..000000000 --- a/packages/number-keyboard/Key.vue +++ /dev/null @@ -1,48 +0,0 @@ - - - diff --git a/packages/number-keyboard/index.vue b/packages/number-keyboard/index.js similarity index 55% rename from packages/number-keyboard/index.vue rename to packages/number-keyboard/index.js index 5cad4ee4e..5d7782e7c 100644 --- a/packages/number-keyboard/index.vue +++ b/packages/number-keyboard/index.js @@ -1,63 +1,11 @@ - - - diff --git a/packages/number-keyboard/test/__snapshots__/demo.spec.js.snap b/packages/number-keyboard/test/__snapshots__/demo.spec.js.snap index 2fe4ca6dd..492986d42 100644 --- a/packages/number-keyboard/test/__snapshots__/demo.spec.js.snap +++ b/packages/number-keyboard/test/__snapshots__/demo.spec.js.snap @@ -6,18 +6,16 @@ exports[`renders demo correctly 1`] = ` 弹出默认键盘
-
完成
+
完成
123456789.0删除
-
diff --git a/packages/password-input/test/__snapshots__/demo.spec.js.snap b/packages/password-input/test/__snapshots__/demo.spec.js.snap index 80f2efce2..3c74c89da 100644 --- a/packages/password-input/test/__snapshots__/demo.spec.js.snap +++ b/packages/password-input/test/__snapshots__/demo.spec.js.snap @@ -15,9 +15,7 @@ exports[`renders demo correctly 1`] = `
密码为 6 位数字
-
1234567890删除
-