首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使flutter_markdown pub.dev充当小部件。

无法使flutter_markdown pub.dev充当小部件。
EN

Stack Overflow用户
提问于 2022-05-15 06:03:44
回答 1查看 89关注 0票数 0

我想要创建一个显示Markdown的小部件。

我在这里使用以下参考代码(https://pub.dev/packages/flutter_markdown/example):

代码语言:javascript
复制
/// 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);

这是我的密码:

代码语言:javascript
复制
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); 
    );
  }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-05-15 06:16:38

不能直接将小部件放入任何其他小部件中,必须将其放入父小部件的子参数/builder/children[]中。

容器具有子参数,因此将markdown小部件定义为容器的子部件。

如下所示:

代码语言:javascript
复制
Container(child: Markdown(data: markdownData))

如果您不为Markdown指定宽度和高度,它将抛出无限大小的错误,并且不会在屏幕上显示任何内容。要解决这个问题:

将Markdown包装在一个灵活的小部件中:

代码语言:javascript
复制
Flexible(child: Container(child: Markdown(data: markdownData))),
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72245884

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档