优化:动态输入优化更新宽度调用

pull/2786/head
ChenX 4 months ago
parent 622a07a3d4
commit 6d6a6b7ad1

@ -62,14 +62,25 @@ export class DynamicInput
container.appendChild(this.container);
let updateWidth = AutoReSize(this.inputEl).updateWidth;
let updateWidth: Function;
let oldLength = 0;
let updateWidthIng = false;
this.UpdateWidth = () =>
{
if (oldLength !== this.inputEl.value.length)
if (updateWidthIng) return;
let newLength = this.inputEl.value.length;
if ((oldLength < newLength || (oldLength - newLength) > 3))
{
updateWidth();
oldLength = this.inputEl.value.length;
updateWidthIng = true;
queueMicrotask(() =>
{
updateWidthIng = false;
if (!updateWidth)
updateWidth = AutoReSize(this.inputEl).updateWidth;
else
updateWidth();
oldLength = this.inputEl.value.length;
});
}
};
this.Blur();

@ -32,8 +32,8 @@ function createGhostElement()
/**
* input,,dom,,.
* @param element input
* @param [options]
* @returns
* @param [options]
* @returns
*/
export function AutoReSize(element: HTMLInputElement, options?: { minWidth: number; })
{

Loading…
Cancel
Save