From d86f69f022bcf6a1cae8d91e8347593f502bae12 Mon Sep 17 00:00:00 2001 From: qiang Date: Thu, 6 May 2021 16:43:39 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=20input=20=E7=BB=84?= =?UTF-8?q?=E4=BB=B6=E7=B1=BB=E5=9E=8B=E4=B8=BA=20number=20=E6=97=B6?= =?UTF-8?q?=E5=9C=A8=E4=BD=8E=E7=89=88=E6=9C=AC=20webview=20=E5=A4=B1?= =?UTF-8?q?=E5=8E=BB=E7=84=A6=E7=82=B9=E6=97=B6=E6=8A=A5=E9=94=99=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98=20question/122328?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/core/view/mixins/field.js | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/src/core/view/mixins/field.js b/src/core/view/mixins/field.js index 2baa91f83..e1686439e 100644 --- a/src/core/view/mixins/field.js +++ b/src/core/view/mixins/field.js @@ -194,20 +194,31 @@ export default { this._onInput($event, true) } this.focusSync = false + const field = $event.target + let cursor + if (field.type === 'number') { + field.type = 'text' + cursor = field.selectionEnd + field.type = 'number' + } else { + cursor = field.selectionEnd + } this.$trigger('blur', $event, { value: this.valueSync, - cursor: $event.target.selectionEnd + cursor }) }, _checkSelection () { - if (this.focusSync && this.selectionStartNumber > -1 && this.selectionEndNumber > -1) { - this._field.selectionStart = this.selectionStartNumber - this._field.selectionEnd = this.selectionEndNumber + const field = this._field + if (this.focusSync && this.selectionStartNumber > -1 && this.selectionEndNumber > -1 && field.type !== 'number') { + field.selectionStart = this.selectionStartNumber + field.selectionEnd = this.selectionEndNumber } }, _checkCursor () { - if (this.focusSync && this.selectionStartNumber < 0 && this.selectionEndNumber < 0 && this.cursorNumber > -1) { - this._field.selectionEnd = this._field.selectionStart = this.cursorNumber + const field = this._field + if (this.focusSync && this.selectionStartNumber < 0 && this.selectionEndNumber < 0 && this.cursorNumber > -1 && field.type !== 'number') { + field.selectionEnd = field.selectionStart = this.cursorNumber } } } -- GitLab