import 'package:cached_network_image/cached_network_image.dart'; import 'package:flutter/material.dart'; import 'package:flutter_markdown/flutter_markdown.dart'; /// Markdown组件 class MarkdownViewer extends StatelessWidget { /// 内容 final String content; /// 内容是否可以滚动 final bool enableContentScroll; const MarkdownViewer({ super.key, required this.content, required this.enableContentScroll, }); @override Widget build(BuildContext context) { return Markdown( // 文档内容 data: content, // 让Markdown高度自适应内容 shrinkWrap: !enableContentScroll, // 禁用自身滚动 physics: enableContentScroll // 允许滑动 ? ClampingScrollPhysics() // 禁止滑动 : const NeverScrollableScrollPhysics(), // 配置图片加载器 imageBuilder: (uri, title, alt) => CachedNetworkImage(imageUrl: uri.toString()), ); } }