Skip to content

have a issues with the dialog #5

@anoldhandsome

Description

@anoldhandsome

/// Original code
// create a new task
void createDialog() {
showDialog(
context: context,
builder: (context) {
return DefineDialog(
controller: _controller,
onSave: saveNewTask(), // Mistakes can be made in complex applications
onCancel: () => Navigator.of(context).pop(),
);
},
);
// save new task
void saveNewTask() {
setState(() {
db.tasks.insert(0, [_controller.text, false]);
_controller.clear();
});
Navigator.of(context).pop();
db.updateDatabase();
}

/// optimize
// create a new task
void createDialog() {
showDialog(
context: context,
builder: (context) {
return DefineDialog(
controller: _controller,
onSave: () => saveNewTask(context),
onCancel: () => Navigator.of(context).pop(),
);
},
);
// save new task
void saveNewTask(BuildContext context) {
setState(() {
db.tasks.insert(0, [_controller.text, false]);
_controller.clear();
});
Navigator.of(context).pop();
db.updateDatabase();
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions