zoukankan      html  css  js  c++  java
  • 多级手风琴式导航

    先上效果图: 

    贴上代码:

     1 @(Html.DevExtreme().Accordion()
     2         .ID("accordion-drawer")       
     3         .DataSource(ds => ds.Mvc()
     4             .Controller("SampleData")
     5             .LoadAction("GetMenuItems")
     6         )
     7         .DataSourceOptions(d => d.Paginate(false))
     8         .AnimationDuration(300)
     9         .Width(300)
    10         .Collapsible(true)
    11         .Multiple(false)
    12         .ItemTitleTemplate(new TemplateName("itemTitleTemplate"))
    13         .ItemTemplate(new TemplateName("drawerTemplate"))
    14         .OnItemTitleClick("accordionTitleClick")
    15 )
    16 
    17 @using (Html.DevExtreme().NamedTemplate("drawerTemplate"))
    18 {
    19 <div>
    20     <%
    21     var nextAccordionId = "accordion-drawer" + id;
    22     if (!isNav) {
    23     %>
    24     @(Html.DevExtreme().List()
    25                             .Height("auto")
    26                             .DataSource(new JS("items"))
    27                             .OnItemClick("drawerItemClick")
    28                         )
    29     <% } else{%>
    30 
    31     @(Html.DevExtreme().Accordion()
    32                           .ID(new JS("nextAccordionId"))
    33                        .DataSource(ds => ds.Mvc()
    34                            .Controller("SampleData")
    35                            .LoadAction("GetMenuItems")
    36                            .LoadParams(new { id = new JS("id") })
    37                        )
    38                        .AnimationDuration(300)
    39                        .Collapsible(true)
    40                        .Multiple(false)
    41                        .ItemTitleTemplate(new TemplateName("itemTitleTemplate"))
    42                        .ItemTemplate(new TemplateName("drawerTemplate"))
    43                        .OnItemTitleClick("accordionTitleClick")       
    44                    )
    45     <% }%>
    46 </div>
    47 }
    48 
    49 @using (Html.DevExtreme().NamedTemplate("itemTitleTemplate"))
    50 {
    51     <div><%-text%></div>
    52 }
    53 <script>
    54     // 展开菜单
    55     function accordionTitleClick(e) {
    56         //  console.log(e);
    57     }
    58     // 打开菜单页面
    59     function drawerItemClick(e) {
    60         // console.log(e)
    61         if (e.itemData.url) {
    62             window.location.href = e.itemData.url;
    63         }
    64     }
    65 </script>

    GetMenuItems 数据源截图:

    提醒:DataSource(new JS("items")) 这里绑定的数据就是上面截图里面的  items对象。

  • 相关阅读:
    linux系统mysql数据库安装步骤
    uwsgi 配置文件
    服务器重启后,docker无法启动
    标准库functools.wraps的使用方法
    闭包函数延迟绑定问题
    python的面向对象编程
    python中包的介绍与常用模块
    drf知识整理一
    Django知识整理四(choices参数,MTV与MVC模型,ajax介绍,ajax传json文件,ajax传文件,contentType前后端传输数据编码格式)
    DRF序列化组件
  • 原文地址:https://www.cnblogs.com/xiaonanmu/p/15348270.html
Copyright © 2011-2022 走看看