繁体   English   中英

角靴式UI手风琴组“一次打开”无效

[英]Angular bootstrap ui accordion group “open one at a time” not working

我一直在使用Angular ui-bootstrap 在这里,即使该值设置为true oneAtATime也不起作用。 这是我的代码。

<div ng-repeat="group in groups track by group.key">
  <uib-accordion close-others="oneAtATime">
    <uib-accordion-group>
      <uib-accordion-heading >
        <div>
          {{ group.title }}
        <i class="pull-right glyphicon" ng-class="{'glyphicon-chevron-down': status.open, 'glyphicon-chevron-right': !status.open}"></i>
        </div>
      </uib-accordion-heading>
    </uib-accordion-group>
  </uib-accordion>
  </div>

plnkr链接。

您的HTML结构错误。 应该只有一个uib-accordion元素和多个uib-accordion-group元素。 因此,只需像这样更改代码:

<uib-accordion close-others="oneAtATime">
    <uib-accordion-group ng-repeat="group in groups track by group.key">
        <uib-accordion-heading>
            <div>
                {{ group.title }}
                <i class="pull-right glyphicon"
                   ng-class="{'glyphicon-chevron-down': status.open, 'glyphicon-chevron-right': !status.open}"></i>
            </div>
        </uib-accordion-heading>
    </uib-accordion-group>
</uib-accordion>

我所做的只是将ng-repeat表达式uib-accordion-group元素中。

请参见下面的工作示例:

 angular.module('ui.bootstrap.demo', ['ngAnimate', 'ui.bootstrap']); angular.module('ui.bootstrap.demo').controller('AccordionDemoCtrl', function($scope) { $scope.oneAtATime = true; $scope.groups = [{ title: 'Dynamic Group Header - 1', content: 'Dynamic Group Body - 1', key: 1 }, { title: 'Dynamic Group Header - 2', content: 'Dynamic Group Body - 2', key: 2 }]; $scope.items = ['Item 1', 'Item 2', 'Item 3']; $scope.addItem = function() { var newItemNo = $scope.items.length + 1; $scope.items.push('Item ' + newItemNo); }; $scope.status = { isCustomHeaderOpen: false, isFirstOpen: true, open: true, isFirstDisabled: false }; }); 
 <!doctype html> <html ng-app="ui.bootstrap.demo"> <head> <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.5.3/angular.js"></script> <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.5.3/angular-animate.js"></script> <script src="//angular-ui.github.io/bootstrap/ui-bootstrap-tpls-1.3.3.js"></script> <script src="script.js"></script> <link href="//netdna.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet"> </head> <body> <div ng-controller="AccordionDemoCtrl"> <div class="checkbox"> <label> <input type="checkbox" ng-model="oneAtATime">Open only one at a time </label> </div> <uib-accordion close-others="oneAtATime"> <uib-accordion-group ng-repeat="group in groups track by group.key"> <uib-accordion-heading> <div> {{ group.title }} <i class="pull-right glyphicon" ng-class="{'glyphicon-chevron-down': status.open, 'glyphicon-chevron-right': !status.open}"></i> </div> </uib-accordion-heading> </uib-accordion-group> </uib-accordion> </div> </body> </html> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM