• easyui-sidemenu 菜单 后台加载


    前言

    一个项目的功能较齐全,而齐全就预示着功能菜单比较长,但是现实中在不同的甲方使用中往往只需要摘取其中几项功能,所以就想到用配置菜单以满足其需求,且无需变更原始代码,查找一些资料总是似是而非或是誊抄别的什么,不知所云。最后自己总结了下,给需要的人或是下次自己再次用到的时候以参考。

    首先看一个基础的侧边栏案例:

    1. html>
    2. <html>
    3. <head>
    4. <meta charset="utf-8">
    5. <title>侧边栏title>
    6. <link rel="stylesheet" type="text/css" href="https://www.jeasyui.com/easyui/themes/default/easyui.css">
    7. <link rel="stylesheet" type="text/css" href="https://www.jeasyui.com/easyui/themes/icon.css">
    8. <link rel="stylesheet" type="text/css" href="https://www.jeasyui.com/easyui/themes/color.css">
    9. <link rel="stylesheet" type="text/css" href="https://www.jeasyui.com/easyui/demo/demo.css">
    10. <script type="text/javascript" src="https://code.jquery.com/jquery-1.9.1.min.js">script>
    11. <script type="text/javascript" src="https://www.jeasyui.com/easyui/jquery.easyui.min.js">script>
    12. head>
    13. <body>
    14. <h2>Basic SideMenuh2>
    15. <p>Collapse the side menu to display the main icon.p>
    16. <div style="margin:20px 0;">
    17. <a href="javascript:;" class="easyui-linkbutton" onclick="toggle()">Togglea>
    18. div>
    19. <div id="sm" class="easyui-sidemenu" data-options="data:data, onSelect: onSideMenuSelect">div>
    20. <script type="text/javascript">
    21. var data = [{
    22. text: 'Item1',
    23. iconCls: 'icon-sum',
    24. state: 'open',
    25. children: [{
    26. text: 'Option1'
    27. url: '关联网页路径'
    28. },{
    29. text: 'Option2'
    30. },{
    31. text: 'Option3',
    32. children: [{
    33. text: 'Option31'
    34. url: '关联网页路径'
    35. },{
    36. text: 'Option32'
    37. url: '关联网页路径'
    38. }]
    39. }]
    40. },{
    41. text: 'Item2',
    42. iconCls: 'icon-more',
    43. children: [{
    44. text: 'Option4',
    45. url:'关联网页路径'
    46. },{
    47. text: 'Option5',
    48. url:'关联网页路径'
    49. },{
    50. text: 'Option6',
    51. url:'关联网页路径'
    52. }]
    53. }];
    54. function toggle(){
    55. var opts = $('#sm').sidemenu('options');
    56. $('#sm').sidemenu(opts.collapsed ? 'expand' : 'collapse');
    57. opts = $('#sm').sidemenu('options');
    58. $('#sm').sidemenu('resize', {
    59. width: opts.collapsed ? 60 : 200
    60. })
    61. }
    62. function onSideMenuSelect(item)
    63. {
    64. }
    65. script>
    66. body>
    67. html>

    这是一个固定的菜单栏,菜单已完全展示,点击加载相对应的url内容。

    观察属性有:text(名称),iconCls(图标),url(路径),state(状态,折叠展开),children(子节点-属性与父节点一致)这是最常用的,其余的属性暂不启用不一一叙述。

    那么首先要有一个菜单对象包含这些属性:

    1. public class SidemenuModel
    2. {
    3. public string text { set; get; } //title
    4. public string iconCls { set; get; } //图标
    5. public string url { set; get; } //路径
    6. public string state { set; get; } //状态 open 展开折叠
    7. public List children =null;
    8. }

    然后设置配置文件(其中配置文件类型太多,XML,JSON.DEF......)根据自己擅长方向来,最终能正确获取到想要的数据即可:

    1. "1.0" encoding="GBK" standalone="yes"?>
    2. <SIDEMENU_LIST>
    3. <SIDEMENU text="Fname" iconCls="icon-mp" url="" state="open" show="1">
    4. <CHILDREN text="Cname" iconCls="icon-search" url="../**/***" show="1"/>
    5. SIDEMENU>
    6. SIDEMENU_LIST>

    这是一个xml配置(打个样),加了一个show属性,区分哪些是需要的菜单

    剩下的就是读取与缓存了。。这一步根据自己擅长来。

    最终HTML:

    1. html>
    2. <html>
    3. <head>
    4. <meta charset="utf-8">
    5. <title>侧边栏title>
    6. <link rel="stylesheet" type="text/css" href="https://www.jeasyui.com/easyui/themes/default/easyui.css">
    7. <link rel="stylesheet" type="text/css" href="https://www.jeasyui.com/easyui/themes/icon.css">
    8. <link rel="stylesheet" type="text/css" href="https://www.jeasyui.com/easyui/themes/color.css">
    9. <link rel="stylesheet" type="text/css" href="https://www.jeasyui.com/easyui/demo/demo.css">
    10. <script type="text/javascript" src="https://code.jquery.com/jquery-1.9.1.min.js">script>
    11. <script type="text/javascript" src="https://www.jeasyui.com/easyui/jquery.easyui.min.js">script>
    12. head>
    13. <body>
    14. <h2>Basic SideMenuh2>
    15. <p>Collapse the side menu to display the main icon.p>
    16. <div style="margin:20px 0;">
    17. <a href="javascript:;" class="easyui-linkbutton" onclick="toggle()">Togglea>
    18. div>
    19. <div id="sm" class="easyui-sidemenu" >div>
    20. <script type="text/javascript">
    21. $(function () {
    22. InitTree();
    23. })
    24. function InitTree() {
    25. $.ajax({
    26. url: "/BasicMain/GetSidemenuList",
    27. type: "post",
    28. async: false,
    29. success: function (data) {
    30. $('#sm').sidemenu({
    31. data: data,
    32. onSelect: onSideMenuSelect,
    33. border: false
    34. });
    35. }
    36. });
    37. }
    38. function toggle(){
    39. var opts = $('#sm').sidemenu('options');
    40. $('#sm').sidemenu(opts.collapsed ? 'expand' : 'collapse');
    41. opts = $('#sm').sidemenu('options');
    42. $('#sm').sidemenu('resize', {
    43. width: opts.collapsed ? 60 : 200
    44. })
    45. }
    46. function onSideMenuSelect(item)
    47. {
    48. //业务处
    49. }
    50. script>
    51. body>
    52. html>

    按照上述步骤,基本上就搞定了加载配置菜单。全是硬货,一目了然。散花。

  • 相关阅读:
    软件测试工程师的职场发展顺序,月薪30k的测试岗技术要求是真的高...
    CSAPP Attack Lab
    关于 HTML 的一切:初学者指南
    QT QTextEdit富文本插入字体-表格-编号-图片-查找-语法高亮功能
    Jenkins集成AppScan实现
    XPath的使用
    C++编程题目2
    Base64隐写
    【python】自动化工具Selenium与playwright去除webdriver检测
    14 【TS类型声明 keepAlive】
  • 原文地址:https://blog.csdn.net/weixin_40899924/article/details/132756303