J'ai un projet Angular mais ce n'est pas directement lié à Angular et j'ai juste besoin de la logique de créer un menu dynamique en utilisant tree qui peut aussi être similaire au projet ASP.NET MVC. Donc, votre suggestion pour ASP.NET MVC, etc. sera également utile pour moi.Comment créer un menu dynamique en utilisant l'arborescence
J'utilise PrimeNG Tree et que vous souhaitez obtenir le menu d'une table dans la base de données MSSQL:
Tableau des menus (les données ont été changé par exemple l'utilisation):
Id | Order | ParentId | Name |
1 1 0 Documents
2 1 1 Work
3 1 2 Expenses.doc
4 2 2 Resume.doc
5 2 1 Home
6 1 5 Invoices.txt
...
Pour Pour remplir les éléments de menu, j'ai besoin de générer une chaîne JSON comme indiqué ci-dessous:
{
"data":
[
{
"label": "Documents",
"data": "Documents Folder",
"expandedIcon": "fa-folder-open",
"collapsedIcon": "fa-folder",
"children": [{
"label": "Work",
"data": "Work Folder",
"expandedIcon": "fa-folder-open",
"collapsedIcon": "fa-folder",
"children": [{"label": "Expenses.doc", "icon": "fa-file-word-o", "data": "Expenses Document"}, {"label": "Resume.doc", "icon": "fa-file-word-o", "data": "Resume Document"}]
},
{
"label": "Home",
"data": "Home Folder",
"expandedIcon": "fa-folder-open",
"collapsedIcon": "fa-folder",
"children": [{"label": "Invoices.txt", "icon": "fa-file-word-o", "data": "Invoices for this month"}]
}]
},
... //omitted for brevity
]
}
Donc, je n'ai vraiment aucune idée de la logique et de la conception de la table de base de données (menus). Dois-je générer le JSON ci-dessus sur le contrôleur ou un autre endroit? Pourriez-vous s'il vous plaît poster des suggestions et des exemples d'approches concernant cette question?
@StephenMuecke Salut Stephane, désolé mais je n'ai vraiment aucune expérience sur ce sujet. Si vous avez le temps, pourriez-vous s'il vous plaît poster un exemple? Ou me suggérer un exemple de page d'utilisation sur le web? Merci d'avance ... –
@StephenMuecke Cher Stéphane, j'étais malade et je ne peux pas regarder ta réponse. Pourquoi l'avez-vous supprimé? Pourriez-vous s'il vous plaît le poster à nouveau? : (( –