RichText Flutter中如何获取String的值?

How to get the value of String in RichText Flutter?

如何获取RichText Widget中String的值。

RichText(
  text: TextSpan(
    style: TextStyle(color: Colors.black, fontSize: 36),
    children: <TextSpan>[
      TextSpan(text: 'Woolha ', style: TextStyle(color: Colors.blue)),
      TextSpan(text: 'dot '),
      TextSpan(
          text: 'com',
          style: TextStyle(decoration: TextDecoration.underline))
    ],
  ),
  textScaleFactor: 0.5,
)

我想获取RichText中String的值,有没有人有办法做到?

您可以在 TextSpantext 属性 上提供字符串变量,如下所示。

String myText = "dot";

TextSpan(text: myText),

您可以使用键从 RichText 中提取文本。

final RichText? richText = richTextKey.currentWidget as RichText?;

debugPrint("${richText?.text.toPlainText()}");
class GettingRichText extends StatelessWidget {
  GettingRichText({Key? key}) : super(key: key);

  final richTextKey = GlobalKey();
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: RichText(
        key: richTextKey,
        text: const TextSpan(
          style: TextStyle(color: Colors.black, fontSize: 36),
          children: <TextSpan>[
            TextSpan(text: 'Woolha ', style: TextStyle(color: Colors.blue)),
            TextSpan(text: 'dot '),
            TextSpan(
                text: 'com',
                style: TextStyle(decoration: TextDecoration.underline))
          ],
        ),
        textScaleFactor: 0.5,
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: () {
          final RichText? richText = richTextKey.currentWidget as RichText;

          debugPrint("${richText?.text.toPlainText()}");
        },
      ),
    );
  }
}