ReactSelect输入框宽度计算不正确

时间:2019-07-10 04:09:55

标签: react-select

当我在框中输入文字时,文字会向左移动,并切掉左侧部分。如果我跳出框并返回到它,则右侧部分也会被切除。

其中的一个代码框为here

它过去工作正常,我将旧版本与当前版本进行了比较。如果我在每个单词中键入相同的单词,则每个单词的style.width是不同的。例如,如果我在两个应用程序中都键入“ abcdefg”,则旧版本的style.width为74px,新版本的style.width仅62px。计算此宽度的代码在react-input-autosize中为here,在我的应用的正常版本和不良版本之间,this.sizer.scrollWidth的值都不同。我只是不知道是什么导致了它的不同。

enter image description here

1 个答案:

答案 0 :(得分:1)

原因是宽度是根据隐藏的div计算的。隐藏的div填充的文本与您在文本框中输入的值相同。

将其溢出设置为scroll,然后为其计算宽度。

现在,此宽度取决于font-size。您可能已为搜索文本框更改了文本的font-size,但是sizer的font-size仍然相同,这就是问题所在。当我手动校正尺寸时,效果很好

Working

我还没有深入研究CSS来检查您在哪里进行了更改,但这对您解决问题足够了