无法让 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))),