蛋炒饭
蛋炒饭
  • 发布:2014-12-21 11:43
  • 更新:2016-06-27 14:20
  • 阅读:6732

accordion折叠面板 怎么让多个折叠面板点击收缩互不影响,目前点击其中一个会让其他的收缩起来,怎么解决?

分类:MUI
2014-12-21 11:43 负责人:无 分享
已邀请:
Xiao小树

Xiao小树

一个accrdion 独自占用一个 ul 和li

官方accordion文档

@DCloud_MUI_CHB

Autumn

Autumn

可以通过修改mui.js实现。
mui.js中有如下语句:

.........  
if (!classList.contains(CLASS_ACTIVE)) { //展开时,需要收缩其他同类                        
    var collapse = cell.parentNode.querySelector('.mui-collapse.mui-active');  
    if (collapse) {                       
        collapse.classList.remove(CLASS_ACTIVE);                               
    }                                                                          
    isExpand = true;                                                           
}           
.........                                                                   

    if (collapse) {

改为

    if (collapse&& !classList.contains("keep-unfold")) {

然后在每个不希望收缩的mui-collapse节点上增加keep-unfold类即可。
需要注意的是,要把默认的

        <script src="js/mui.min.js"></script>

修改为

        <script src="js/mui.js"></script>

理论上mui.min.js也可以如上修改,但是我暂时还没找到对应的代码。。。

  • DCloud_UNI_CHB

    可以自己构建grunt环境,修改mui.tableview.js,然后自动编译发布成新的mui.min.js

    2015-11-02 16:01

1620662089

1620662089

用多个accordion

zhaoyari

zhaoyari

同问

小人物

小人物

这个问题解决了没?

DCloud_UNI_CHB

DCloud_UNI_CHB

若只是需要默认全部展开,点击不关闭的话,可通过如下方式实现:
在最外层的ul上添加.mui-unfold,在每个.mui-collapse节点上增加.mui-active类;

若还需要点击收缩,mui暂不支持。

  • zhaoyari

    请列入需求计划,谢谢,确实很需要,应用的场景很多

    2015-08-30 21:21

小人物

小人物

我也认为很需要,至少一个展开控制一个面板还是经常会出现的。

1***@qq.com

1***@qq.com

mui.min.js
修改位置
(".mui-collapse.mui-active");k&&k.classList.remove(g),
修改为:
(".mui-collapse.mui-active");if (k&& !k.classList.contains("keep-unfold")){k.classList.remove(g)};

该问题目前已经被锁定, 无法添加新回复