你好,我想问一下。为什么会发生这个错误?有人能帮我吗?错误代码参数类型“BuildContext”无法分配给参数类型“String”。
代码:
Widget recentFileButton(
BuildContext context,
String fileName,
String fileURL,
String thumbnailImageName,
String fileFrom,
String timestamp,
String documentID,
String fileNotes) =>
Container(
margin: const EdgeInsets.only(bottom: 10),
child: Row(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
getPreview(fileURL, fileNotes),
const SizedBox(width: 10),
Expanded(
child: InkWell(
onTap: () async {
bool _isEmwatch = false;
if (fileNotes == "referral letter") {
var uri = Uri.parse(fileURL);
var uuid = uri.queryParameters['uuid'];
var result = await DocumentRepository()
.doctorGetPatientReferralByUID(uuid!);
if (result.responseMap.clinicUID ==
"") {
_isEmwatch = true;
}
if (result.responseMap.clinicUID ==
"") {
_isEmwatch = true;
}
// generate and preview
var doc = await generateDocument(PdfPageFormat.standard,
result.responseMap, '', _isEmwatch);
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => PdfPreviewPage(pdfDoc: doc)),
);
} else {
openDocument(context, fileURL);
}
},
),
],
),
),
),
const SizedBox(width: 10),
Align(
alignment: Alignment.topRight,
child: IconButton(
icon: const Icon(
Icons.more_vert,
color: Color(0xFF021522),
),
onPressed: () => showFileActionBottomSheet(
context, fileName, fileURL, documentID, fileNotes),
),
)
],
),
);
我不知道如何解决这个问题。请指导我和任何愿意帮助我解决这个问题的人。谢谢。
3条答案
按热度按时间htzpubme1#
你的方法openDocument需要一个String,你将BuildContext传递给它。
xpszyzbs2#
这个错误基本上意味着
openDocument
在请求String,而您正在向它传递BuildContext。根据它的文档,您可以像下面这样调用
openDocument
https://pub.dev/packages/open_document
nzk0hqpo3#
除了上面的答案,你可以检查方法的参数,如果移动鼠标光标到方法,如果你使用VsCode和安装,flutter和dart扩展。这适用于所有方法,
1.你写的那本。
1.内置方法。
1.封装方法。
此外,在类上工作,还有另一种方法是(ctrl+鼠标左键单击)在(方法,类等)的名称上。