Wie stelle ich sicher, dass das Eingabefeld breit genug ist, um den Inhalt vollständig anzuzeigen?
P粉014218124
P粉014218124 2023-09-02 22:36:56
0
2
429

Ich verwende die Vuetify TextField-Komponente in einer Tabelle mit vielen Spalten. Möglicherweise enthält die Komponente zu viel Inhalt, um angezeigt zu werden, und aus Sicht des Benutzererlebnisses würde die Überprüfung des Inhalts durch Scrollen innerhalb des Felds bei vielen Zellen zu viel Zeit in Anspruch nehmen.

Reines HTML-Beispiel

Vuetify-Beispiel

Meine erste Idee (wenn Sie eine bessere Idee haben, lassen Sie es mich bitte wissen) ist die Anzeige eines Tooltips, um den vollständigen Inhalt anzuzeigen. Dies wäre jedoch ärgerlich, wenn die Komponente den vollständigen Inhalt anzeigen kann. Daher möchte ich den Tooltip nur anzeigen, wenn der Inhalt ausgeblendet/abgeschnitten ist.

Gibt es also eine Möglichkeit herauszufinden, ob die Komponente den vollständigen Inhalt anzeigt oder ob es Inhalte gibt, die ausgeblendet/abgeschnitten sind? (Die Tabellenleistung ist wichtig, daher weiß ich nicht, ob es sich lohnt, sehr komplexe Berechnungen durchzuführen, wenn sich Werte ändern.)

Ich habe es versucht

(Spielplatz)

   
Schnitt ab: {{ isCuttingOff }}

Aber

  • Beim Start ist die Variable inputWidth undefiniert
  • Ich weiß nicht, wie ich die Variable inputValueWidth
  • berechnen soll.

P粉014218124
P粉014218124

Antworte allen (2)
P粉473363527

使用CSS来显示文本的溢出,例如....(省略号),并使用title属性在悬停时显示完整内容,类似弹出窗口

  
    P粉342101652

    通过修改您的代码,我成功地比较了文本框的clientWidthscrollWidth

    1- 消除了field引用。

    2- 给v-text-field添加了一个id。

    3- 添加了一个check函数,并在watch回调函数中调用它。

    4- 在check函数内部,我检查了输入框的clientWidthscrollWidth

    5- 为了在初始加载时运行它,我将msg赋值为空字符串,并在脚本底部将其更改为原始字符串。

    在此处查看:这里

      
      Neueste Downloads
      Mehr>
      Web-Effekte
      Quellcode der Website
      Website-Materialien
      Frontend-Vorlage
      Über uns Haftungsausschluss Sitemap
      Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!