早上好,
我一直试图将模型名称事务导入到我的小部件文件中。
即使路径正确,我也会收到以下错误消息:
Xcode的输出:↳lib/widget//user_transactions.dart:5:8:阅读‘lib/widgets/models/transaction.dart’时出错:没有这样的文件或目录导入‘../↳/transaction.dart’;^lib/widget//Transactionlist.dart:4:8:错误:读取'lib/widgets/models/transaction.dart':没有这样的文件或目录导入‘./model/transaction.dart’;^lib/widget//user_transactions.dart:13:14: Error: Type 'Transaction‘未找到。最终列表_userTransactions =[^lib/widget//Transaction_list.dart:7:14: Error: Type‘Transaction“未找到。最终列表事务;^lib/widget//user_transactions.dart:13:14: Error:'Transaction‘不是类型。最终列表_userTransactions =[^lib/widget//user_transactions.dart:14:5: Error:方法未找到:'Transaction‘。事务(^lib/widget//user_transactions.dart:20:5: Error:方法未找到:'Transaction‘。事务(^lib//user_transactions.dart:29:19: Error:未为类'_UserTransactionsState‘定义方法'Transaction’。- '_UserTransactionsState‘来自'package:expenses_app/widgets//user_transactions.dart’(‘lib/_UserTransactionsState//user_transactions.dart’)。尝试将名称更正为现有方法的名称,或定义名为“Transaction”的方法。newTx = Transaction( ^lib/widget//Transaction_list.dart:7:14: Error:'Transaction‘不是类型。最终列表事务;^ lib/widgets//transaction_list.dart:31:27: Error: getter 'amount‘未为类“Object”定义。-“对象”来自“省道:核心”。尝试将名称更正为现有getter的名称,或者定义一个getter或名为“named”的字段。'$${tx.amount}',^lib//transaction_list.dart:43:24: Error: getter 'title‘不是为类'Object’定义的。-“对象”来自“省道:核心”。尝试将名称更正为现有getter的名称,或定义名为“title”的getter或字段。tx.title,^lib//transaction_list.dart:50:50: Error: getter 'date‘未为类'Object’定义。-“对象”来自“省道:核心”。尝试将名称更正为现有getter的名称,或定义名为“date”的getter或字段。DateFormat.yMMMd().format(tx.date)
路径是model/transaction.dart,但是当阅读‘lib/widget/model/transaction.dart’时出现了消息错误,这让我认为我对导入做了错误的事情。
请在下面找到我的文件的截图,然后我的2个文件的代码:

模型/交易
import 'package:flutter/foundation.dart';
class Transaction {
final String id;
final String title;
final double amount;
final DateTime date;
Transaction({
@required this.id,
@required this.title,
@required this.amount,
@required this.date,
});
}部件/transaction_list.dart
import 'package:flutter/material.dart';
import 'package:intl/intl.dart';
import '../models/transaction.dart';
class TransactionList extends StatelessWidget {
final List<Transaction> transactions;
TransactionList(this.transactions);
@override
Widget build(BuildContext context) {
return Column(
children: transactions.map((tx) {
return Card(
child: Row(
children: <Widget>[
Container(
margin: EdgeInsets.symmetric(
vertical: 10,
horizontal: 15,
),
decoration: BoxDecoration(
border: Border.all(
color: Colors.purple,
width: 2,
),
),
padding: EdgeInsets.all(10),
child: Text(
'\$${tx.amount}',
style: TextStyle(
fontWeight: FontWeight.bold,
fontSize: 20,
color: Colors.purple,
),
),
),
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Text(
tx.title,
style: TextStyle(
fontSize: 16,
fontWeight: FontWeight.bold,
),
),
Text(
DateFormat.yMMMd().format(tx.date),
style: TextStyle(
color: Colors.grey,
),
),
],
),
],
),
);
}).toList(),
);
}
}看上去像两个进口的模型/交易。飞镖失败了,但我找不到你为什么.
谢谢你的帮助
发布于 2020-12-10 15:18:48
没有文件import '../models/transaction.dart';在widgets/models/中有三个文件
new_transaction.dart transaction_list.dart user_transactions.dart
您需要更改相关文件的名称或更改您的导入以匹配其中的一个文件名。
例如,import '../models/new_transaction.dart';
发布于 2021-06-04 23:23:00
在lib
中,
libsrc文件夹,并将小部件文件夹放入到main.dart中https://stackoverflow.com/questions/65234491
复制相似问题