mirror of
https://gitee.com/vant-contrib/vant.git
synced 2025-04-24 02:16:12 +08:00
[bugfix] Field: maxlength not work when type = number (#1839)
This commit is contained in:
parent
4c7c2d7b76
commit
efa264d612
@ -105,6 +105,7 @@ export default create({
|
|||||||
},
|
},
|
||||||
|
|
||||||
mounted() {
|
mounted() {
|
||||||
|
this.format();
|
||||||
this.$nextTick(this.adjustSize);
|
this.$nextTick(this.adjustSize);
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -129,8 +130,21 @@ export default create({
|
|||||||
this.$refs.input && this.$refs.input.blur();
|
this.$refs.input && this.$refs.input.blur();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// native maxlength not work when type = number
|
||||||
|
format(target = this.$refs.input) {
|
||||||
|
let { value } = target;
|
||||||
|
const { maxlength } = this.$attrs;
|
||||||
|
|
||||||
|
if (this.isDef(maxlength) && value.length > maxlength) {
|
||||||
|
value = value.slice(0, maxlength);
|
||||||
|
target.value = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
return value;
|
||||||
|
},
|
||||||
|
|
||||||
onInput(event) {
|
onInput(event) {
|
||||||
this.$emit('input', event.target.value);
|
this.$emit('input', this.format(event.target));
|
||||||
},
|
},
|
||||||
|
|
||||||
onFocus(event) {
|
onFocus(event) {
|
||||||
|
@ -109,3 +109,25 @@ test('blur method', () => {
|
|||||||
|
|
||||||
expect(fn.mock.calls.length).toEqual(1);
|
expect(fn.mock.calls.length).toEqual(1);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test('maxlength', async() => {
|
||||||
|
const wrapper = mount(Field, {
|
||||||
|
attrs: {
|
||||||
|
maxlength: 3
|
||||||
|
},
|
||||||
|
propsData: {
|
||||||
|
value: 1234,
|
||||||
|
type: 'number'
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
const input = wrapper.find('input');
|
||||||
|
expect(input.element.value).toEqual('123');
|
||||||
|
|
||||||
|
input.element.value = 1234;
|
||||||
|
await later();
|
||||||
|
input.trigger('input');
|
||||||
|
|
||||||
|
expect(input.element.value).toEqual('123');
|
||||||
|
expect(wrapper.emitted('input')[0][0]).toEqual('123');
|
||||||
|
});
|
||||||
|
Loading…
x
Reference in New Issue
Block a user