vant 4.0.3 → 4.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -1
- package/es/field/Field.mjs +38 -5
- package/es/image/Image.mjs +10 -2
- package/es/index.d.ts +1 -1
- package/es/index.mjs +1 -1
- package/lib/field/Field.js +38 -5
- package/lib/image/Image.js +10 -2
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/lib/vant.cjs.js +49 -8
- package/lib/vant.es.js +49 -8
- package/lib/vant.js +49 -8
- package/lib/vant.min.js +1 -1
- package/lib/web-types.json +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
@@ -8,7 +8,6 @@
|
|
8
8
|
|
9
9
|
<p align="center">
|
10
10
|
<img src="https://img.shields.io/npm/v/vant?style=flat-square" alt="npm version" />
|
11
|
-
<img src="https://img.shields.io/github/workflow/status/vant-ui/vant/CI/dev?style=flat-square" alt="CI Status" />
|
12
11
|
<img src="https://img.shields.io/codecov/c/github/vant-ui/vant/dev.svg?style=flat-square&color=#4fc08d" alt="Coverage Status" />
|
13
12
|
<img src="https://img.shields.io/npm/dm/vant.svg?style=flat-square&color=#4fc08d" alt="downloads" />
|
14
13
|
<img src="https://img.badgesize.io/https://unpkg.com/vant/lib/vant.min.js?compression=gzip&style=flat-square&label=gzip%20size&color=#4fc08d" alt="Gzip Size" />
|
package/es/field/Field.mjs
CHANGED
@@ -179,6 +179,7 @@ var stdin_default = defineComponent({
|
|
179
179
|
}
|
180
180
|
};
|
181
181
|
const limitValueLength = (value) => {
|
182
|
+
var _a;
|
182
183
|
const {
|
183
184
|
maxlength
|
184
185
|
} = props;
|
@@ -187,6 +188,13 @@ var stdin_default = defineComponent({
|
|
187
188
|
if (modelValue && getStringLength(modelValue) === +maxlength) {
|
188
189
|
return modelValue;
|
189
190
|
}
|
191
|
+
const selectionEnd = (_a = inputRef.value) == null ? void 0 : _a.selectionEnd;
|
192
|
+
if (state.focused && selectionEnd) {
|
193
|
+
const valueArr = [...value];
|
194
|
+
const exceededLength = valueArr.length - +maxlength;
|
195
|
+
valueArr.splice(selectionEnd - exceededLength, exceededLength);
|
196
|
+
return valueArr.join("");
|
197
|
+
}
|
190
198
|
return cutString(value, +maxlength);
|
191
199
|
}
|
192
200
|
return value;
|
@@ -194,22 +202,47 @@ var stdin_default = defineComponent({
|
|
194
202
|
const updateValue = (value, trigger = "onChange") => {
|
195
203
|
const originalValue = value;
|
196
204
|
value = limitValueLength(value);
|
197
|
-
const
|
205
|
+
const limitDiffLen = getStringLength(originalValue) - getStringLength(value);
|
198
206
|
if (props.type === "number" || props.type === "digit") {
|
199
207
|
const isNumber = props.type === "number";
|
200
208
|
value = formatNumber(value, isNumber, isNumber);
|
201
209
|
}
|
210
|
+
let formatterDiffLen = 0;
|
202
211
|
if (props.formatter && trigger === props.formatTrigger) {
|
203
|
-
|
212
|
+
const {
|
213
|
+
formatter,
|
214
|
+
maxlength
|
215
|
+
} = props;
|
216
|
+
value = formatter(value);
|
217
|
+
if (isDef(maxlength) && getStringLength(value) > maxlength) {
|
218
|
+
value = cutString(value, +maxlength);
|
219
|
+
}
|
220
|
+
if (inputRef.value && state.focused) {
|
221
|
+
const {
|
222
|
+
selectionEnd
|
223
|
+
} = inputRef.value;
|
224
|
+
const bcoVal = cutString(originalValue, selectionEnd);
|
225
|
+
formatterDiffLen = getStringLength(formatter(bcoVal)) - getStringLength(bcoVal);
|
226
|
+
}
|
204
227
|
}
|
205
228
|
if (inputRef.value && inputRef.value.value !== value) {
|
206
|
-
if (state.focused
|
207
|
-
|
229
|
+
if (state.focused) {
|
230
|
+
let {
|
208
231
|
selectionStart,
|
209
232
|
selectionEnd
|
210
233
|
} = inputRef.value;
|
211
234
|
inputRef.value.value = value;
|
212
|
-
|
235
|
+
if (isDef(selectionStart) && isDef(selectionEnd)) {
|
236
|
+
const valueLen = getStringLength(value);
|
237
|
+
if (limitDiffLen) {
|
238
|
+
selectionStart -= limitDiffLen;
|
239
|
+
selectionEnd -= limitDiffLen;
|
240
|
+
} else if (formatterDiffLen) {
|
241
|
+
selectionStart += formatterDiffLen;
|
242
|
+
selectionEnd += formatterDiffLen;
|
243
|
+
}
|
244
|
+
inputRef.value.setSelectionRange(Math.min(selectionStart, valueLen), Math.min(selectionEnd, valueLen));
|
245
|
+
}
|
213
246
|
} else {
|
214
247
|
inputRef.value.value = value;
|
215
248
|
}
|
package/es/image/Image.mjs
CHANGED
@@ -56,6 +56,14 @@ var stdin_default = defineComponent({
|
|
56
56
|
emit("load", event);
|
57
57
|
}
|
58
58
|
};
|
59
|
+
const triggerLoad = () => {
|
60
|
+
const loadEvent = new Event("load");
|
61
|
+
Object.defineProperty(loadEvent, "target", {
|
62
|
+
value: imageRef.value,
|
63
|
+
enumerable: true
|
64
|
+
});
|
65
|
+
onLoad(loadEvent);
|
66
|
+
};
|
59
67
|
const onError = (event) => {
|
60
68
|
error.value = true;
|
61
69
|
loading.value = false;
|
@@ -113,7 +121,7 @@ var stdin_default = defineComponent({
|
|
113
121
|
}) => {
|
114
122
|
const check = () => {
|
115
123
|
if (el === imageRef.value && loading.value) {
|
116
|
-
|
124
|
+
triggerLoad();
|
117
125
|
}
|
118
126
|
};
|
119
127
|
if (imageRef.value) {
|
@@ -141,7 +149,7 @@ var stdin_default = defineComponent({
|
|
141
149
|
nextTick(() => {
|
142
150
|
var _a;
|
143
151
|
if ((_a = imageRef.value) == null ? void 0 : _a.complete) {
|
144
|
-
|
152
|
+
triggerLoad();
|
145
153
|
}
|
146
154
|
});
|
147
155
|
});
|
package/es/index.d.ts
CHANGED
package/es/index.mjs
CHANGED
@@ -87,7 +87,7 @@ import { TimePicker } from "./time-picker/index.mjs";
|
|
87
87
|
import { Toast } from "./toast/index.mjs";
|
88
88
|
import { TreeSelect } from "./tree-select/index.mjs";
|
89
89
|
import { Uploader } from "./uploader/index.mjs";
|
90
|
-
const version = "4.0.
|
90
|
+
const version = "4.0.4";
|
91
91
|
function install(app) {
|
92
92
|
const components = [
|
93
93
|
ActionBar,
|
package/lib/field/Field.js
CHANGED
@@ -203,6 +203,7 @@ var stdin_default = (0, import_vue2.defineComponent)({
|
|
203
203
|
}
|
204
204
|
};
|
205
205
|
const limitValueLength = (value) => {
|
206
|
+
var _a;
|
206
207
|
const {
|
207
208
|
maxlength
|
208
209
|
} = props;
|
@@ -211,6 +212,13 @@ var stdin_default = (0, import_vue2.defineComponent)({
|
|
211
212
|
if (modelValue && (0, import_utils2.getStringLength)(modelValue) === +maxlength) {
|
212
213
|
return modelValue;
|
213
214
|
}
|
215
|
+
const selectionEnd = (_a = inputRef.value) == null ? void 0 : _a.selectionEnd;
|
216
|
+
if (state.focused && selectionEnd) {
|
217
|
+
const valueArr = [...value];
|
218
|
+
const exceededLength = valueArr.length - +maxlength;
|
219
|
+
valueArr.splice(selectionEnd - exceededLength, exceededLength);
|
220
|
+
return valueArr.join("");
|
221
|
+
}
|
214
222
|
return (0, import_utils2.cutString)(value, +maxlength);
|
215
223
|
}
|
216
224
|
return value;
|
@@ -218,22 +226,47 @@ var stdin_default = (0, import_vue2.defineComponent)({
|
|
218
226
|
const updateValue = (value, trigger = "onChange") => {
|
219
227
|
const originalValue = value;
|
220
228
|
value = limitValueLength(value);
|
221
|
-
const
|
229
|
+
const limitDiffLen = (0, import_utils2.getStringLength)(originalValue) - (0, import_utils2.getStringLength)(value);
|
222
230
|
if (props.type === "number" || props.type === "digit") {
|
223
231
|
const isNumber = props.type === "number";
|
224
232
|
value = (0, import_utils.formatNumber)(value, isNumber, isNumber);
|
225
233
|
}
|
234
|
+
let formatterDiffLen = 0;
|
226
235
|
if (props.formatter && trigger === props.formatTrigger) {
|
227
|
-
|
236
|
+
const {
|
237
|
+
formatter,
|
238
|
+
maxlength
|
239
|
+
} = props;
|
240
|
+
value = formatter(value);
|
241
|
+
if ((0, import_utils.isDef)(maxlength) && (0, import_utils2.getStringLength)(value) > maxlength) {
|
242
|
+
value = (0, import_utils2.cutString)(value, +maxlength);
|
243
|
+
}
|
244
|
+
if (inputRef.value && state.focused) {
|
245
|
+
const {
|
246
|
+
selectionEnd
|
247
|
+
} = inputRef.value;
|
248
|
+
const bcoVal = (0, import_utils2.cutString)(originalValue, selectionEnd);
|
249
|
+
formatterDiffLen = (0, import_utils2.getStringLength)(formatter(bcoVal)) - (0, import_utils2.getStringLength)(bcoVal);
|
250
|
+
}
|
228
251
|
}
|
229
252
|
if (inputRef.value && inputRef.value.value !== value) {
|
230
|
-
if (state.focused
|
231
|
-
|
253
|
+
if (state.focused) {
|
254
|
+
let {
|
232
255
|
selectionStart,
|
233
256
|
selectionEnd
|
234
257
|
} = inputRef.value;
|
235
258
|
inputRef.value.value = value;
|
236
|
-
|
259
|
+
if ((0, import_utils.isDef)(selectionStart) && (0, import_utils.isDef)(selectionEnd)) {
|
260
|
+
const valueLen = (0, import_utils2.getStringLength)(value);
|
261
|
+
if (limitDiffLen) {
|
262
|
+
selectionStart -= limitDiffLen;
|
263
|
+
selectionEnd -= limitDiffLen;
|
264
|
+
} else if (formatterDiffLen) {
|
265
|
+
selectionStart += formatterDiffLen;
|
266
|
+
selectionEnd += formatterDiffLen;
|
267
|
+
}
|
268
|
+
inputRef.value.setSelectionRange(Math.min(selectionStart, valueLen), Math.min(selectionEnd, valueLen));
|
269
|
+
}
|
237
270
|
} else {
|
238
271
|
inputRef.value.value = value;
|
239
272
|
}
|
package/lib/image/Image.js
CHANGED
@@ -79,6 +79,14 @@ var stdin_default = (0, import_vue2.defineComponent)({
|
|
79
79
|
emit("load", event);
|
80
80
|
}
|
81
81
|
};
|
82
|
+
const triggerLoad = () => {
|
83
|
+
const loadEvent = new Event("load");
|
84
|
+
Object.defineProperty(loadEvent, "target", {
|
85
|
+
value: imageRef.value,
|
86
|
+
enumerable: true
|
87
|
+
});
|
88
|
+
onLoad(loadEvent);
|
89
|
+
};
|
82
90
|
const onError = (event) => {
|
83
91
|
error.value = true;
|
84
92
|
loading.value = false;
|
@@ -136,7 +144,7 @@ var stdin_default = (0, import_vue2.defineComponent)({
|
|
136
144
|
}) => {
|
137
145
|
const check = () => {
|
138
146
|
if (el === imageRef.value && loading.value) {
|
139
|
-
|
147
|
+
triggerLoad();
|
140
148
|
}
|
141
149
|
};
|
142
150
|
if (imageRef.value) {
|
@@ -164,7 +172,7 @@ var stdin_default = (0, import_vue2.defineComponent)({
|
|
164
172
|
(0, import_vue2.nextTick)(() => {
|
165
173
|
var _a;
|
166
174
|
if ((_a = imageRef.value) == null ? void 0 : _a.complete) {
|
167
|
-
|
175
|
+
triggerLoad();
|
168
176
|
}
|
169
177
|
});
|
170
178
|
});
|
package/lib/index.d.ts
CHANGED
package/lib/index.js
CHANGED
@@ -202,7 +202,7 @@ __reExport(stdin_exports, require("./time-picker"), module.exports);
|
|
202
202
|
__reExport(stdin_exports, require("./toast"), module.exports);
|
203
203
|
__reExport(stdin_exports, require("./tree-select"), module.exports);
|
204
204
|
__reExport(stdin_exports, require("./uploader"), module.exports);
|
205
|
-
const version = "4.0.
|
205
|
+
const version = "4.0.4";
|
206
206
|
function install(app) {
|
207
207
|
const components = [
|
208
208
|
import_action_bar.ActionBar,
|
package/lib/vant.cjs.js
CHANGED
@@ -3969,6 +3969,7 @@ var stdin_default$1j = vue.defineComponent({
|
|
3969
3969
|
}
|
3970
3970
|
};
|
3971
3971
|
const limitValueLength = (value) => {
|
3972
|
+
var _a;
|
3972
3973
|
const {
|
3973
3974
|
maxlength
|
3974
3975
|
} = props;
|
@@ -3977,6 +3978,13 @@ var stdin_default$1j = vue.defineComponent({
|
|
3977
3978
|
if (modelValue && getStringLength(modelValue) === +maxlength) {
|
3978
3979
|
return modelValue;
|
3979
3980
|
}
|
3981
|
+
const selectionEnd = (_a = inputRef.value) == null ? void 0 : _a.selectionEnd;
|
3982
|
+
if (state.focused && selectionEnd) {
|
3983
|
+
const valueArr = [...value];
|
3984
|
+
const exceededLength = valueArr.length - +maxlength;
|
3985
|
+
valueArr.splice(selectionEnd - exceededLength, exceededLength);
|
3986
|
+
return valueArr.join("");
|
3987
|
+
}
|
3980
3988
|
return cutString(value, +maxlength);
|
3981
3989
|
}
|
3982
3990
|
return value;
|
@@ -3984,22 +3992,47 @@ var stdin_default$1j = vue.defineComponent({
|
|
3984
3992
|
const updateValue = (value, trigger = "onChange") => {
|
3985
3993
|
const originalValue = value;
|
3986
3994
|
value = limitValueLength(value);
|
3987
|
-
const
|
3995
|
+
const limitDiffLen = getStringLength(originalValue) - getStringLength(value);
|
3988
3996
|
if (props.type === "number" || props.type === "digit") {
|
3989
3997
|
const isNumber = props.type === "number";
|
3990
3998
|
value = formatNumber(value, isNumber, isNumber);
|
3991
3999
|
}
|
4000
|
+
let formatterDiffLen = 0;
|
3992
4001
|
if (props.formatter && trigger === props.formatTrigger) {
|
3993
|
-
|
4002
|
+
const {
|
4003
|
+
formatter,
|
4004
|
+
maxlength
|
4005
|
+
} = props;
|
4006
|
+
value = formatter(value);
|
4007
|
+
if (isDef(maxlength) && getStringLength(value) > maxlength) {
|
4008
|
+
value = cutString(value, +maxlength);
|
4009
|
+
}
|
4010
|
+
if (inputRef.value && state.focused) {
|
4011
|
+
const {
|
4012
|
+
selectionEnd
|
4013
|
+
} = inputRef.value;
|
4014
|
+
const bcoVal = cutString(originalValue, selectionEnd);
|
4015
|
+
formatterDiffLen = getStringLength(formatter(bcoVal)) - getStringLength(bcoVal);
|
4016
|
+
}
|
3994
4017
|
}
|
3995
4018
|
if (inputRef.value && inputRef.value.value !== value) {
|
3996
|
-
if (state.focused
|
3997
|
-
|
4019
|
+
if (state.focused) {
|
4020
|
+
let {
|
3998
4021
|
selectionStart,
|
3999
4022
|
selectionEnd
|
4000
4023
|
} = inputRef.value;
|
4001
4024
|
inputRef.value.value = value;
|
4002
|
-
|
4025
|
+
if (isDef(selectionStart) && isDef(selectionEnd)) {
|
4026
|
+
const valueLen = getStringLength(value);
|
4027
|
+
if (limitDiffLen) {
|
4028
|
+
selectionStart -= limitDiffLen;
|
4029
|
+
selectionEnd -= limitDiffLen;
|
4030
|
+
} else if (formatterDiffLen) {
|
4031
|
+
selectionStart += formatterDiffLen;
|
4032
|
+
selectionEnd += formatterDiffLen;
|
4033
|
+
}
|
4034
|
+
inputRef.value.setSelectionRange(Math.min(selectionStart, valueLen), Math.min(selectionEnd, valueLen));
|
4035
|
+
}
|
4003
4036
|
} else {
|
4004
4037
|
inputRef.value.value = value;
|
4005
4038
|
}
|
@@ -6522,6 +6555,14 @@ var stdin_default$13 = vue.defineComponent({
|
|
6522
6555
|
emit("load", event);
|
6523
6556
|
}
|
6524
6557
|
};
|
6558
|
+
const triggerLoad = () => {
|
6559
|
+
const loadEvent = new Event("load");
|
6560
|
+
Object.defineProperty(loadEvent, "target", {
|
6561
|
+
value: imageRef.value,
|
6562
|
+
enumerable: true
|
6563
|
+
});
|
6564
|
+
onLoad(loadEvent);
|
6565
|
+
};
|
6525
6566
|
const onError = (event) => {
|
6526
6567
|
error.value = true;
|
6527
6568
|
loading.value = false;
|
@@ -6579,7 +6620,7 @@ var stdin_default$13 = vue.defineComponent({
|
|
6579
6620
|
}) => {
|
6580
6621
|
const check = () => {
|
6581
6622
|
if (el === imageRef.value && loading.value) {
|
6582
|
-
|
6623
|
+
triggerLoad();
|
6583
6624
|
}
|
6584
6625
|
};
|
6585
6626
|
if (imageRef.value) {
|
@@ -6607,7 +6648,7 @@ var stdin_default$13 = vue.defineComponent({
|
|
6607
6648
|
vue.nextTick(() => {
|
6608
6649
|
var _a;
|
6609
6650
|
if ((_a = imageRef.value) == null ? void 0 : _a.complete) {
|
6610
|
-
|
6651
|
+
triggerLoad();
|
6611
6652
|
}
|
6612
6653
|
});
|
6613
6654
|
});
|
@@ -14847,7 +14888,7 @@ const Lazyload = {
|
|
14847
14888
|
});
|
14848
14889
|
}
|
14849
14890
|
};
|
14850
|
-
const version = "4.0.
|
14891
|
+
const version = "4.0.4";
|
14851
14892
|
function install(app) {
|
14852
14893
|
const components = [
|
14853
14894
|
ActionBar,
|
package/lib/vant.es.js
CHANGED
@@ -3967,6 +3967,7 @@ var stdin_default$1j = defineComponent({
|
|
3967
3967
|
}
|
3968
3968
|
};
|
3969
3969
|
const limitValueLength = (value) => {
|
3970
|
+
var _a;
|
3970
3971
|
const {
|
3971
3972
|
maxlength
|
3972
3973
|
} = props;
|
@@ -3975,6 +3976,13 @@ var stdin_default$1j = defineComponent({
|
|
3975
3976
|
if (modelValue && getStringLength(modelValue) === +maxlength) {
|
3976
3977
|
return modelValue;
|
3977
3978
|
}
|
3979
|
+
const selectionEnd = (_a = inputRef.value) == null ? void 0 : _a.selectionEnd;
|
3980
|
+
if (state.focused && selectionEnd) {
|
3981
|
+
const valueArr = [...value];
|
3982
|
+
const exceededLength = valueArr.length - +maxlength;
|
3983
|
+
valueArr.splice(selectionEnd - exceededLength, exceededLength);
|
3984
|
+
return valueArr.join("");
|
3985
|
+
}
|
3978
3986
|
return cutString(value, +maxlength);
|
3979
3987
|
}
|
3980
3988
|
return value;
|
@@ -3982,22 +3990,47 @@ var stdin_default$1j = defineComponent({
|
|
3982
3990
|
const updateValue = (value, trigger = "onChange") => {
|
3983
3991
|
const originalValue = value;
|
3984
3992
|
value = limitValueLength(value);
|
3985
|
-
const
|
3993
|
+
const limitDiffLen = getStringLength(originalValue) - getStringLength(value);
|
3986
3994
|
if (props.type === "number" || props.type === "digit") {
|
3987
3995
|
const isNumber = props.type === "number";
|
3988
3996
|
value = formatNumber(value, isNumber, isNumber);
|
3989
3997
|
}
|
3998
|
+
let formatterDiffLen = 0;
|
3990
3999
|
if (props.formatter && trigger === props.formatTrigger) {
|
3991
|
-
|
4000
|
+
const {
|
4001
|
+
formatter,
|
4002
|
+
maxlength
|
4003
|
+
} = props;
|
4004
|
+
value = formatter(value);
|
4005
|
+
if (isDef(maxlength) && getStringLength(value) > maxlength) {
|
4006
|
+
value = cutString(value, +maxlength);
|
4007
|
+
}
|
4008
|
+
if (inputRef.value && state.focused) {
|
4009
|
+
const {
|
4010
|
+
selectionEnd
|
4011
|
+
} = inputRef.value;
|
4012
|
+
const bcoVal = cutString(originalValue, selectionEnd);
|
4013
|
+
formatterDiffLen = getStringLength(formatter(bcoVal)) - getStringLength(bcoVal);
|
4014
|
+
}
|
3992
4015
|
}
|
3993
4016
|
if (inputRef.value && inputRef.value.value !== value) {
|
3994
|
-
if (state.focused
|
3995
|
-
|
4017
|
+
if (state.focused) {
|
4018
|
+
let {
|
3996
4019
|
selectionStart,
|
3997
4020
|
selectionEnd
|
3998
4021
|
} = inputRef.value;
|
3999
4022
|
inputRef.value.value = value;
|
4000
|
-
|
4023
|
+
if (isDef(selectionStart) && isDef(selectionEnd)) {
|
4024
|
+
const valueLen = getStringLength(value);
|
4025
|
+
if (limitDiffLen) {
|
4026
|
+
selectionStart -= limitDiffLen;
|
4027
|
+
selectionEnd -= limitDiffLen;
|
4028
|
+
} else if (formatterDiffLen) {
|
4029
|
+
selectionStart += formatterDiffLen;
|
4030
|
+
selectionEnd += formatterDiffLen;
|
4031
|
+
}
|
4032
|
+
inputRef.value.setSelectionRange(Math.min(selectionStart, valueLen), Math.min(selectionEnd, valueLen));
|
4033
|
+
}
|
4001
4034
|
} else {
|
4002
4035
|
inputRef.value.value = value;
|
4003
4036
|
}
|
@@ -6520,6 +6553,14 @@ var stdin_default$13 = defineComponent({
|
|
6520
6553
|
emit("load", event);
|
6521
6554
|
}
|
6522
6555
|
};
|
6556
|
+
const triggerLoad = () => {
|
6557
|
+
const loadEvent = new Event("load");
|
6558
|
+
Object.defineProperty(loadEvent, "target", {
|
6559
|
+
value: imageRef.value,
|
6560
|
+
enumerable: true
|
6561
|
+
});
|
6562
|
+
onLoad(loadEvent);
|
6563
|
+
};
|
6523
6564
|
const onError = (event) => {
|
6524
6565
|
error.value = true;
|
6525
6566
|
loading.value = false;
|
@@ -6577,7 +6618,7 @@ var stdin_default$13 = defineComponent({
|
|
6577
6618
|
}) => {
|
6578
6619
|
const check = () => {
|
6579
6620
|
if (el === imageRef.value && loading.value) {
|
6580
|
-
|
6621
|
+
triggerLoad();
|
6581
6622
|
}
|
6582
6623
|
};
|
6583
6624
|
if (imageRef.value) {
|
@@ -6605,7 +6646,7 @@ var stdin_default$13 = defineComponent({
|
|
6605
6646
|
nextTick(() => {
|
6606
6647
|
var _a;
|
6607
6648
|
if ((_a = imageRef.value) == null ? void 0 : _a.complete) {
|
6608
|
-
|
6649
|
+
triggerLoad();
|
6609
6650
|
}
|
6610
6651
|
});
|
6611
6652
|
});
|
@@ -14845,7 +14886,7 @@ const Lazyload = {
|
|
14845
14886
|
});
|
14846
14887
|
}
|
14847
14888
|
};
|
14848
|
-
const version = "4.0.
|
14889
|
+
const version = "4.0.4";
|
14849
14890
|
function install(app) {
|
14850
14891
|
const components = [
|
14851
14892
|
ActionBar,
|
package/lib/vant.js
CHANGED
@@ -4327,6 +4327,7 @@
|
|
4327
4327
|
}
|
4328
4328
|
};
|
4329
4329
|
const limitValueLength = (value) => {
|
4330
|
+
var _a;
|
4330
4331
|
const {
|
4331
4332
|
maxlength
|
4332
4333
|
} = props;
|
@@ -4335,6 +4336,13 @@
|
|
4335
4336
|
if (modelValue && getStringLength(modelValue) === +maxlength) {
|
4336
4337
|
return modelValue;
|
4337
4338
|
}
|
4339
|
+
const selectionEnd = (_a = inputRef.value) == null ? void 0 : _a.selectionEnd;
|
4340
|
+
if (state.focused && selectionEnd) {
|
4341
|
+
const valueArr = [...value];
|
4342
|
+
const exceededLength = valueArr.length - +maxlength;
|
4343
|
+
valueArr.splice(selectionEnd - exceededLength, exceededLength);
|
4344
|
+
return valueArr.join("");
|
4345
|
+
}
|
4338
4346
|
return cutString(value, +maxlength);
|
4339
4347
|
}
|
4340
4348
|
return value;
|
@@ -4342,22 +4350,47 @@
|
|
4342
4350
|
const updateValue = (value, trigger = "onChange") => {
|
4343
4351
|
const originalValue = value;
|
4344
4352
|
value = limitValueLength(value);
|
4345
|
-
const
|
4353
|
+
const limitDiffLen = getStringLength(originalValue) - getStringLength(value);
|
4346
4354
|
if (props.type === "number" || props.type === "digit") {
|
4347
4355
|
const isNumber = props.type === "number";
|
4348
4356
|
value = formatNumber(value, isNumber, isNumber);
|
4349
4357
|
}
|
4358
|
+
let formatterDiffLen = 0;
|
4350
4359
|
if (props.formatter && trigger === props.formatTrigger) {
|
4351
|
-
|
4360
|
+
const {
|
4361
|
+
formatter,
|
4362
|
+
maxlength
|
4363
|
+
} = props;
|
4364
|
+
value = formatter(value);
|
4365
|
+
if (isDef(maxlength) && getStringLength(value) > maxlength) {
|
4366
|
+
value = cutString(value, +maxlength);
|
4367
|
+
}
|
4368
|
+
if (inputRef.value && state.focused) {
|
4369
|
+
const {
|
4370
|
+
selectionEnd
|
4371
|
+
} = inputRef.value;
|
4372
|
+
const bcoVal = cutString(originalValue, selectionEnd);
|
4373
|
+
formatterDiffLen = getStringLength(formatter(bcoVal)) - getStringLength(bcoVal);
|
4374
|
+
}
|
4352
4375
|
}
|
4353
4376
|
if (inputRef.value && inputRef.value.value !== value) {
|
4354
|
-
if (state.focused
|
4355
|
-
|
4377
|
+
if (state.focused) {
|
4378
|
+
let {
|
4356
4379
|
selectionStart,
|
4357
4380
|
selectionEnd
|
4358
4381
|
} = inputRef.value;
|
4359
4382
|
inputRef.value.value = value;
|
4360
|
-
|
4383
|
+
if (isDef(selectionStart) && isDef(selectionEnd)) {
|
4384
|
+
const valueLen = getStringLength(value);
|
4385
|
+
if (limitDiffLen) {
|
4386
|
+
selectionStart -= limitDiffLen;
|
4387
|
+
selectionEnd -= limitDiffLen;
|
4388
|
+
} else if (formatterDiffLen) {
|
4389
|
+
selectionStart += formatterDiffLen;
|
4390
|
+
selectionEnd += formatterDiffLen;
|
4391
|
+
}
|
4392
|
+
inputRef.value.setSelectionRange(Math.min(selectionStart, valueLen), Math.min(selectionEnd, valueLen));
|
4393
|
+
}
|
4361
4394
|
} else {
|
4362
4395
|
inputRef.value.value = value;
|
4363
4396
|
}
|
@@ -6877,6 +6910,14 @@
|
|
6877
6910
|
emit("load", event);
|
6878
6911
|
}
|
6879
6912
|
};
|
6913
|
+
const triggerLoad = () => {
|
6914
|
+
const loadEvent = new Event("load");
|
6915
|
+
Object.defineProperty(loadEvent, "target", {
|
6916
|
+
value: imageRef.value,
|
6917
|
+
enumerable: true
|
6918
|
+
});
|
6919
|
+
onLoad(loadEvent);
|
6920
|
+
};
|
6880
6921
|
const onError = (event) => {
|
6881
6922
|
error.value = true;
|
6882
6923
|
loading.value = false;
|
@@ -6934,7 +6975,7 @@
|
|
6934
6975
|
}) => {
|
6935
6976
|
const check = () => {
|
6936
6977
|
if (el === imageRef.value && loading.value) {
|
6937
|
-
|
6978
|
+
triggerLoad();
|
6938
6979
|
}
|
6939
6980
|
};
|
6940
6981
|
if (imageRef.value) {
|
@@ -6962,7 +7003,7 @@
|
|
6962
7003
|
vue.nextTick(() => {
|
6963
7004
|
var _a;
|
6964
7005
|
if ((_a = imageRef.value) == null ? void 0 : _a.complete) {
|
6965
|
-
|
7006
|
+
triggerLoad();
|
6966
7007
|
}
|
6967
7008
|
});
|
6968
7009
|
});
|
@@ -16053,7 +16094,7 @@
|
|
16053
16094
|
});
|
16054
16095
|
}
|
16055
16096
|
};
|
16056
|
-
const version = "4.0.
|
16097
|
+
const version = "4.0.4";
|
16057
16098
|
function install(app) {
|
16058
16099
|
const components = [
|
16059
16100
|
ActionBar,
|