From 08a554c5a218666b82293ee28b9794741a712700 Mon Sep 17 00:00:00 2001 From: neverland Date: Sat, 25 Jul 2020 10:36:45 +0800 Subject: [PATCH] feat(AddressEdit): add tel-maxlength prop (#6869) --- src/address-edit/README.md | 1 + src/address-edit/README.zh-CN.md | 1 + src/address-edit/index.js | 6 ++++-- src/address-edit/test/index.spec.js | 16 +++++++++++++++- 4 files changed, 21 insertions(+), 3 deletions(-) diff --git a/src/address-edit/README.md b/src/address-edit/README.md index b2419a84d..f92f8122a 100644 --- a/src/address-edit/README.md +++ b/src/address-edit/README.md @@ -86,6 +86,7 @@ export default { | is-saving | Whether to show save button loading status | _boolean_ | `false` | | is-deleting | Whether to show delete button loading status | _boolean_ | `false` | | tel-validator | The method to validate tel | _(tel: string) => boolean_ | - | +| tel-maxlength `v2.10.0` | Tel maxlength | _number \| string_ | - | | postal-validator `v2.1.2` | The method to validate postal | _(tel: string) => boolean_ | - | | validator | Custom validator | _(key, val) => string_ | - | diff --git a/src/address-edit/README.zh-CN.md b/src/address-edit/README.zh-CN.md index e9eb5d4b9..a0d7fe29b 100644 --- a/src/address-edit/README.zh-CN.md +++ b/src/address-edit/README.zh-CN.md @@ -86,6 +86,7 @@ export default { | is-saving | 是否显示保存按钮加载动画 | _boolean_ | `false` | | is-deleting | 是否显示删除按钮加载动画 | _boolean_ | `false` | | tel-validator | 手机号格式校验函数 | _string => boolean_ | - | +| tel-maxlength `v2.10.0` | 手机号最大长度 | _number \| string_ | - | | postal-validator `v2.1.2` | 邮政编码格式校验函数 | _string => boolean_ | - | | validator | 自定义校验函数 | _(key, val) => string_ | - | diff --git a/src/address-edit/index.js b/src/address-edit/index.js index ba7267c89..f810496f7 100644 --- a/src/address-edit/index.js +++ b/src/address-edit/index.js @@ -40,11 +40,12 @@ export default createComponent({ showDelete: Boolean, showPostal: Boolean, searchResult: Array, + telMaxlength: [Number, String], showSetDefault: Boolean, - showSearchResult: Boolean, saveButtonText: String, - deleteButtonText: String, areaPlaceholder: String, + deleteButtonText: String, + showSearchResult: Boolean, showArea: { type: Boolean, default: true, @@ -283,6 +284,7 @@ export default createComponent({ clearable type="tel" label={t('tel')} + maxlength={this.telMaxlength} placeholder={t('telPlaceholder')} errorMessage={errorInfo.tel} onFocus={onFocus('tel')} diff --git a/src/address-edit/test/index.spec.js b/src/address-edit/test/index.spec.js index 2af606077..376133a9d 100644 --- a/src/address-edit/test/index.spec.js +++ b/src/address-edit/test/index.spec.js @@ -1,6 +1,6 @@ import AddressEdit from '..'; import areaList from '../../area/demo/area-simple'; -import { mount, later } from '../../../test'; +import { mount, later, trigger } from '../../../test'; const addressInfo = { name: '测试', @@ -306,3 +306,17 @@ test('click-area event', () => { field.trigger('click'); expect(wrapper.emitted('click-area')[0]).toBeTruthy(); }); + +test('tel-maxlength prop', () => { + const wrapper = mount(AddressEdit, { + propsData: { + telMaxlength: 4, + }, + }); + + const telInput = wrapper.find('input[type="tel"]'); + telInput.element.value = '123456'; + trigger(telInput, 'input'); + + expect(telInput.element.value).toEqual('1234'); +});