Reputation: 339
import 'package:flutter/material.dart';
import 'package:ssrpa/ui/forgot_password.dart';
import 'package:ssrpa/admin/admin_page2.dart';
class PopUpMenu extends StatelessWidget {
VoidCallback onEnable;
VoidCallback onDisable;
VoidCallback onDelete;
PopUpMenu({this.onEnable, this.onDisable, this.onDelete});
void showMenuSelection(String value) {
switch (value) {
case 'Enable':
onEnable();
break;
case 'Disable':
onDisable();
break;
case 'Delete':
onDelete();
break;
// Other cases for other menu options
}
}
@override
Widget build(BuildContext context) {
return PopupMenuButton<String>(
padding: EdgeInsets.zero,
icon: Icon(Icons.more_vert),
onSelected: showMenuSelection,
itemBuilder: (BuildContext context) => <PopupMenuEntry<String>>[
const PopupMenuItem<String>(
value: 'Enable User',
child: ListTile(
title: Text('Enable User'))),
const PopupMenuItem<String>(
value: 'Disable User',
child: ListTile(
title: Text('Disable User'))),
const PopupMenuItem<String>(
value: 'Delete User',
child: ListTile(
title: Text('Delete User')))
]
);
}
}
Upvotes: 0
Views: 550
Reputation: 2355
the value strings you send in popup menu item is not match with your switch cases
import 'package:flutter/material.dart';
import 'package:ssrpa/ui/forgot_password.dart';
import 'package:ssrpa/admin/admin_page2.dart';
class PopUpMenu extends StatelessWidget {
VoidCallback onEnable;
VoidCallback onDisable;
VoidCallback onDelete;
PopUpMenu({this.onEnable, this.onDisable, this.onDelete});
void showMenuSelection(String value) {
switch (value) {
case 'Enable User':
onEnable();
break;
case 'Disable User':
onDisable();
break;
case 'Delete User':
onDelete();
break;
// Other cases for other menu options
}
}
@override
Widget build(BuildContext context) {
return PopupMenuButton<String>(
padding: EdgeInsets.zero,
icon: Icon(Icons.more_vert),
onSelected: showMenuSelection,
itemBuilder: (BuildContext context) => <PopupMenuEntry<String>>[
const PopupMenuItem<String>(
value: 'Enable User',
child: ListTile(
title: Text('Enable User'))),
const PopupMenuItem<String>(
value: 'Disable User',
child: ListTile(
title: Text('Disable User'))),
const PopupMenuItem<String>(
value: 'Delete User',
child: ListTile(
title: Text('Delete User')))
]
);
}
}
Upvotes: 2