我已经使用方法addTicket()实现了类,当我重用该类时,我想根据应用程序中的相关页面更改“db.collection”的名称和“Navigator”。那该怎么办呢?
class AddNewTicket extends StatefulWidget {
@override
_AddNewTicketState createState() => _AddNewTicketState();
}
class _AddNewTicketState extends State<AddNewTicket> {
addTicket() async {
if (_formKey.currentState.validate()) {
_formKey.currentState.save();
try{
DocumentReference ref = await db.collection('CostalLineTicketDetails').
document(ticketCato).collection("Tickets").add();
setState(() => id = ref.documentID);
Navigator.push(context, new MaterialPageRoute(builder: (context) => CostalLine()));
}catch(e){
print(e);
}
}
}
}
最佳答案
您可以执行以下操作:
addTicket(String collectionName, Widget widgetPage) async {
if (_formKey.currentState.validate()) {
_formKey.currentState.save();
try{
DocumentReference ref = await db.collection(collectionName).
document(ticketCato).collection("Tickets").add();
setState(() => id = ref.documentID);
Navigator.push(context, new MaterialPageRoute(builder: (context) => widgetPage));
}catch(e){
print(e);
}
}
}
关于android - Flutter可重用表单小部件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61279620/