参数类型'Html'不能分配给参数类型"字符串"



我有下面的代码,我希望能够将HTML格式的数据共享给其他应用程序。但是,Share.Share(Html(data:note((会带来一个错误,因为它需要一个字符串。那么,我如何将HTM小部件转换为字符串

import 'package:flutter/material.dart';
import 'package:flutter_html/flutter_html.dart';
import 'package:share/share.dart';
class ReadNote extends StatelessWidget {
String note;
ReadNote({Key? key,required this.note}) : super(key: key);
@override
Widget build(BuildContext context) {
print(note);
return Scaffold(
appBar: AppBar(
title: Text('Note'),
centerTitle: true,
actions: [
IconButton(
icon: Icon(Icons.share), onPressed: () {
final RenderObject? box = context.findRenderObject();
Share.share( Html(data: note),
subject:"Sharing a note"
);
},
)
],
),
body: SingleChildScrollView(
child:Html(data: note)
),
);
}
}

下面是的全部错误

Error: The argument type 'Html' can't be assigned to the parameter type 'String'.
- 'Html' is from 'package:flutter_html/flutter_html.dart' ('/C:/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_html-2.1.2/lib/flutter_html.dart').
Share.share( Html(data: note),

问题是share类的share方法需要String类型参数作为第一个位置参数

但是在您的例子中,您将Html类实例传递到String类型的位置

String htmlToString(String html) {
final parsedHtml = parse(html);
final String parsedString = = parse(parsedHtml.body.text).documentElement.text;
return parsedString;
}
...
Share.share(_parseHtmlString(note), subject: 'Look what I made!');
...

相关内容

最新更新