forked from XiaoMo/ChatGPT-Next-Web
Merge pull request #1371 from yanCode/fix/textarea-line
fix: row count logic
This commit is contained in:
commit
0ad91101a4
@ -158,15 +158,15 @@ export function autoGrowTextArea(dom: HTMLTextAreaElement) {
|
|||||||
|
|
||||||
const width = getDomContentWidth(dom);
|
const width = getDomContentWidth(dom);
|
||||||
measureDom.style.width = width + "px";
|
measureDom.style.width = width + "px";
|
||||||
measureDom.innerText = dom.value.trim().length > 0 ? dom.value : "1";
|
measureDom.innerText = dom.value !== "" ? dom.value : "1";
|
||||||
|
const endWithEmptyLine = dom.value.endsWith("\n");
|
||||||
const emptyLineWrap = Math.max(0, dom.value.split("\n\n").length - 1);
|
|
||||||
const height = parseFloat(window.getComputedStyle(measureDom).height);
|
const height = parseFloat(window.getComputedStyle(measureDom).height);
|
||||||
const singleLineHeight = parseFloat(
|
const singleLineHeight = parseFloat(
|
||||||
window.getComputedStyle(singleLineDom).height,
|
window.getComputedStyle(singleLineDom).height,
|
||||||
);
|
);
|
||||||
|
|
||||||
const rows = Math.round(height / singleLineHeight) + emptyLineWrap;
|
const rows =
|
||||||
|
Math.round(height / singleLineHeight) + (endWithEmptyLine ? 1 : 0);
|
||||||
|
|
||||||
return rows;
|
return rows;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user