Dans AngularJS UI Bootstrap Je veux activer isopen quand en-tête de panneau est cliqué, mais je n'ai pas trouvé de moyen. Dans cette version n'est activée que si vous cliquez sur le lien.
Voici ce que j'ai essayé;
<accordion-group is-open="isopen">
<accordion-heading ng-click="isopen=!isopen">
I can have markup, too!
<i class="pull-right glyphicon"
ng-class="{'glyphicon-chevron-down': isopen, 'glyphicon-chevron-right': !isopen}"></i>
</accordion-heading>
This is just some content to illustrate fancy headings.
</accordion-group>
ng-click = "isopen =! isopen "
C'est le lien que j'ai essayé sur Plunker
Bootstrap de l'interface utilisateur AngularJS
Merci d'avance..
EDIT: Une meilleure solution consiste à déplacer ng-click="isopen=!isopen"
au accordion-group
élément. De cette façon, le panneau est ouvert/fermé en cliquant n'importe où sur l'en-tête du panneau, y compris les bords.
<accordion close-others="oneAtATime">
<accordion-group is-open="isopen" ng-click="isopen=!isopen">
<accordion-heading >
I can have markup, too!
<i class="pull-right glyphicon"
ng-class="{'glyphicon- chevron-down': isopen, 'glyphicon-chevron-right': !isopen}">
</i>
</accordion-heading>
This is just some content to illustrate fancy headings.
</accordion-group>
</accordion>
FIN DE MODIFICATION
joindre le contenu de <accordion-heading>
dans un <div>
<accordion close-others="oneAtATime">
<accordion-group is-open="isopen" >
<accordion-heading ng-click="isopen=!isopen">
<div>
I can have markup, too!
<i class="pull-right glyphicon"
ng-class="{'glyphicon- chevron-down': isopen, 'glyphicon-chevron-right': !isopen}">
</i>
</div>
</accordion-heading>
This is just some content to illustrate fancy headings.
</accordion-group>
</accordion>
Une solution CSS très simple:
.panel-heading {
padding: 0;
}
.panel-title a {
display: block;
padding: 10px 15px;
}
Cependant, je n'utilise pas de titres complexes - juste l'attribut de titre comme indiqué ci-dessous, donc je ne l'ai pas testé avec les exemples ci-dessus.
<uib-accordion-group heading="Details" class="form-horizontal" is-open="true">
Ce que vous devez faire est de modifier le accordion-group.html
modèle tel qu'il fait prendre à l'en-tête le ng-click
un événement.
<div class="panel {{panelClass || 'panel-default'}}">
<div class="abc panel-heading" ng-keypress="toggleOpen($event)" ng-click="toggleOpen($event)" >
<h4 class="panel-title">
<a href tabindex="0" class="accordion-toggle" accordion-transclude="heading"><span ng-class="{'text-muted': isDisabled}">{{heading}}</span></a>
</h4>
</div>
<div class="panel-collapse collapse" collapse="!isOpen">
<div class="panel-body" ng-transclude></div>
</div>
</div>
Ensuite, dans votre code, spécifiez-le comme modèle-URL pour le accordion-group
<accordion-group heading="Dynamic Body Content" template-url="accordion-group.html">
Exemple: http://plnkr.co/edit/EXUgyNi8hrqQbh5maJUx?p=preview