打开模式底部页时出现问题


import 'package:expenses_app/widgets/new_transaction.dart';
import 'package:expenses_app/widgets/transaction_list.dart';
import 'models/transactions.dart';
import 'package:flutter/material.dart';
main() => runApp(ExpensesApp());
class ExpensesApp extends StatefulWidget {
@override
State<ExpensesApp> createState() => _ExpensesAppState();
}
class _ExpensesAppState extends State<ExpensesApp> {
final List<Transactions> userTransactions = [
Transactions(
id: "t1",
title: "New Shoes",
amount: 69.99,
date: DateTime.now(),
),
Transactions(
id: "t2",
title: "Weekly Groceries",
amount: 13.56,
date: DateTime.now(),
),
];
void addNewTransaction(String txTitle, double txAmount) {
final newTx = Transactions(
id: DateTime.now().toString(),
title: txTitle,
amount: txAmount,
date: DateTime.now(),
);
setState(() {
userTransactions.add(newTx);
});
}
void startAddNewTransaction(BuildContext ctx) {
showModalBottomSheet(
context: ctx,
builder: (_) {
return NewTransactions(addNewTransaction);
},
);
}
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text("Expenses App"),
backgroundColor: Colors.pink[900],
actions: [
IconButton(
icon: Icon(Icons.add),
onPressed: () => startAddNewTransaction(context),
),
],
),
body: SingleChildScrollView(
child: Column(
children: [
Container(
width: double.infinity,
child: Card(
child: Text("Chart"),
),
),
TransactionList(userTransactions),
],
),
),
floatingActionButtonLocation: FloatingActionButtonLocation.centerFloat,
floatingActionButton: FloatingActionButton(
child: Icon(Icons.add),
onPressed: () => startAddNewTransaction(context),
),
),
);
}
}

伙计们,我在浮动操作按钮和应用程序栏中创建模态时遇到了问题,我已经创建了显示事务的列表、添加新事务的函数和创建模态的函数,而且我已经在浮动操作键和应用程序条中部署了该函数,但它不起作用。我做错了什么?

由于您共享了不完整的代码,我们无法判断这个"NewTransactions"方法返回了什么。另一方面,ShowModalBottomSheet函数决不能返回null。

我试着从showModalBottomSheet中返回conatiner,效果很好。

showModalBottomSheet(
context: ctx,
builder: (_) {
return Container(
child: Text('This is bottom sheet'),
);
},
);

最新更新