我想要创建一个显示Markdown的小部件。
我在这里使用以下参考代码(https://pub.dev/packages/flutter_markdown/example):
/// void main() {
/// runApp(
/// MaterialApp(
/// title: "Markdown Demo",
/// home: Scaffold(
/// appBar: AppBar(
/// title: const Text('Simple Markdown Demo'),
/// ),
/// body: SafeArea(
/// child: Markdown(
/// data: _markdownData,
/// ),
/// ),
/// ),
/// ),
/// );
/// }这一行生成一个错误:Markdown(data: markdownData);
这是我的密码:
import 'package:flutter_markdown/flutter_markdown.dart';
class MarkdownCustomWidget extends StatefulWidget {
const MarkdownCustomWidget({Key{NULL_SAFE_QUESTION_SENTINEL} key , this.width,this.height,this.markdownData, }) : super(key: key);
final double{NULL_SAFE_QUESTION_SENTINEL} width;
final double{NULL_SAFE_QUESTION_SENTINEL} height;
final String{NULL_SAFE_QUESTION_SENTINEL} markdownData;
@override
_MarkdownCustomWidgetState createState() => _MarkdownCustomWidgetState();
}
class _MarkdownCustomWidgetState extends State<MarkdownCustomWidget> {
@override
Widget build(BuildContext context) {
return Container(
Markdown(data: markdownData);
);
}
}发布于 2022-05-15 06:16:38
不能直接将小部件放入任何其他小部件中,必须将其放入父小部件的子参数/builder/children[]中。
容器具有子参数,因此将markdown小部件定义为容器的子部件。
如下所示:
Container(child: Markdown(data: markdownData))如果您不为Markdown指定宽度和高度,它将抛出无限大小的错误,并且不会在屏幕上显示任何内容。要解决这个问题:
将Markdown包装在一个灵活的小部件中:
Flexible(child: Container(child: Markdown(data: markdownData))),https://stackoverflow.com/questions/72245884
复制相似问题