'TextSpan' 类型的值不能从方法 'build' 中被 return 编辑,因为它有一个 return 类型的 'Widget'
A value of type 'TextSpan' can't be returned from the method 'build' because it has a return type of 'Widget'
我需要创建自定义 SpanText,但我发现了这个问题。
'TextSpan' 类型的值无法从方法 'build' 中 return 编辑,因为它的 return 类型为 'Widget'。
代码是:
class StareWidget extends StatelessWidget {
const StareWidget({Key? key, required this.text}) : super(key: key);
final String text;
@override
Widget build(BuildContext context) {
return TextSpan();
}
}
To paint a TextSpan on a Canvas, use a TextPainter. To display a text span in a widget, use a RichText. For text with a single style, consider using the Text widget.
因此您的 TextSpan
需要 RichText
作为 parent。
试试下面的代码希望对你有帮助。
参考 TextSpan here
引用 RichText here
class StareWidget extends StatelessWidget {
const StareWidget({
Key? key,
required this.text,
}) : super(key: key);
final String text;
@override
Widget build(BuildContext context) {
return Text.rich(
TextSpan(
text: 'This is textspan ',
children: <InlineSpan>[
TextSpan(
text: 'Widget in flutter',
style: TextStyle(
fontSize: 20,
fontWeight: FontWeight.bold,
),
)
],
),
);
}
}
您的结果屏幕->
我需要创建自定义 SpanText,但我发现了这个问题。 'TextSpan' 类型的值无法从方法 'build' 中 return 编辑,因为它的 return 类型为 'Widget'。
代码是:
class StareWidget extends StatelessWidget {
const StareWidget({Key? key, required this.text}) : super(key: key);
final String text;
@override
Widget build(BuildContext context) {
return TextSpan();
}
}
To paint a TextSpan on a Canvas, use a TextPainter. To display a text span in a widget, use a RichText. For text with a single style, consider using the Text widget.
因此您的 TextSpan
需要 RichText
作为 parent。
试试下面的代码希望对你有帮助。
参考 TextSpan here
引用 RichText here
class StareWidget extends StatelessWidget {
const StareWidget({
Key? key,
required this.text,
}) : super(key: key);
final String text;
@override
Widget build(BuildContext context) {
return Text.rich(
TextSpan(
text: 'This is textspan ',
children: <InlineSpan>[
TextSpan(
text: 'Widget in flutter',
style: TextStyle(
fontSize: 20,
fontWeight: FontWeight.bold,
),
)
],
),
);
}
}
您的结果屏幕->