如果行数在限制范围内,如何禁用扩展图标?扑

How to disable the expansion icon if number of lines is within limits? Flutter

Sample Screenshot

如果行数在阈值限制内,我想禁用可扩展图标。 我正在使用 ExpandablePanel 小部件,但我不知道如何禁用该图标。

您可以在 hasIcon 中使用条件运算符来禁用图标

首先获取你的文本占用的行数,然后使用条件运算符制作图标visible/invisible

final numLines = '\n'.allMatches(yourText).length + 1;


ExpandablePanel(
  .
  .
  .
  hasIcon: numLines > MAX_LINES? true: false,
)

这里MAX_LINES是你设置的最大行数

希望对您有所帮助。

我使用

计算了行数
final span = TextSpan(text: txt);
final tp = TextPainter(
text: span, textDirection: TextDirection.ltr, maxLines: 3);
tp.layout(maxWidth: size.maxWidth);

然后我用 hasIcon: tp.didExceedMaxLines ? true : false, 到 enable/disable 图标。