无法让 flutter_markdown pub.dev 作为小部件工作
Cannot get the flutter_markdown pub.dev to work as a widget
我想创建一个显示 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);
);
}
}
您不能直接将一个小部件放入任何其他小部件中
你必须把它放在 Parent widget 的 child parameter/builder/children[]
Container 有 child 参数,因此将 markdown 小部件定义为 Container 的子项。
像这样:
Container(child: Markdown(data: markdownData))
如果您没有为 Markdown 指定宽度和高度,它将抛出 Infinite Size 错误并且不会在屏幕上显示任何内容。
要解决此问题:
将 Markdown 包装在灵活的小部件中:
Flexible(child: Container(child: Markdown(data: markdownData))),
我想创建一个显示 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);
);
}
}
您不能直接将一个小部件放入任何其他小部件中 你必须把它放在 Parent widget 的 child parameter/builder/children[]
Container 有 child 参数,因此将 markdown 小部件定义为 Container 的子项。
像这样:
Container(child: Markdown(data: markdownData))
如果您没有为 Markdown 指定宽度和高度,它将抛出 Infinite Size 错误并且不会在屏幕上显示任何内容。 要解决此问题:
将 Markdown 包装在灵活的小部件中:
Flexible(child: Container(child: Markdown(data: markdownData))),