【发布时间】:2021-11-10 12:42:52
【问题描述】:
UserTransaction.dart
class UserTransactions extends StatefulWidget {
@override
_UserTransactionsState createState() => _UserTransactionsState();
}
class _UserTransactionsState extends State<UserTransactions> {
final List<Transaction> _userTransactions = [
Transaction(
id: "y1",
title: "My gift",
amount: 98.5,
date: DateTime.now(),
),
Transaction(
id: "y2",
title: "My Fruits",
amount: 18.5,
date: DateTime.now(),
),
];
void _addNewTransaction(String txTitle, double txAmount) {
final newTx = Transaction(
title: txTitle,
amount: txAmount,
id: DateTime.now().toString(),
date: DateTime.now(),
);
setState(() {
_userTransactions.add(newTx);
});
}
@override
Widget build(BuildContext context) {
return Column(
children: <Widget>[
NewTransaction(_addNewTransaction),
TransactionList(_userTransactions),
],
);
}
}
new_transaction.dart
import 'package:flutter/material.dart';
class NewTransaction extends StatelessWidget {
@override
Widget build(BuildContext context) {
final Function addTx = () {};
final titleController = TextEditingController();
final amountController = TextEditingController();
NewTransaction(this.addTx);
return Card(
elevation: 5,
child: Container(
padding: EdgeInsets.all(10),
child: Column(
crossAxisAlignment: CrossAxisAlignment.end,
children: <Widget>[
TextField(
decoration: InputDecoration(labelText: "Title"),
// onChanged: (val) {
// titleInput = val;
// },
controller: titleController,
),
TextField(
decoration: InputDecoration(labelText: "Amount"),
// onChanged: (val) => amountInput = val,
controller: amountController,
),
FlatButton(
onPressed: () {
addTx(
titleController.text,
double.parse(amountController.text),
);
},
child: Text("Add Transaction"),
textColor: Colors.purple,
)
],
),
),
);
}
}
我收到关于位置参数的错误。错误:位置参数太多:预期为 0,但找到了 1。尝试删除额外的参数。我多次尝试解决此错误,但我不明白如何解决此错误。所以,请帮我解决这个错误。
【问题讨论】:
标签: flutter