web-dev-qa-db-fra.com

Développer un élément de la liste de réduction à l'aide d'un matériau angulaire

Quelqu'un peut-il suggérer d’ajouter une vue Développer/Réduire illustrée ici ..__ Je voudrais utiliser du matériel Angular avec AngularJS uniquement et ne pas dépendre de Bootstrap, etc. tout ce qui convient dans la documentation AngularMaterial.

Merci

6
Adam

Une façon consiste à utiliser 2 md-list-item consécutifs.

Voici le code HTML.

  <md-list flex>
   <md-list-item ng-click="toggle.list1 = !toggle.list1">
    <md-icon>explore</md-icon>
    <span flex>Item List 1</span>
    <md-icon ng-show="!toggle.list1">expand_more</md-icon>
    <md-icon ng-show="toggle.list1">expand_less</md-icon>
   </md-list-item>
   <md-list-item ng-repeat="item in data" ng-show="toggle.list1">
   <span flex-offset="5">{{item}}</span>
  </md-list-item>
  <md-list-item ng-click="toggle.list2 = !toggle.list2">
   <md-icon>explore</md-icon>
   <span flex>Item List 2</span>
   <md-icon ng-show="!toggle.list2">expand_more</md-icon>
   <md-icon ng-show="toggle.list2">expand_less</md-icon>
  </md-list-item>
  <md-list-item ng-repeat="item in data" ng-show="toggle.list2">
   <span flex-offset="5">{{item}}</span>
  </md-list-item>
 </md-list>

Code JS:

angular.module('myApp',['ngMaterial'])
.controller('TempController', function($scope){
 $scope.data = [ "Item 1", "Item 2", "Item 3", "Item 4"]
 $scope.toggle = {};
});;

Voici le travail Codepen .

11
nextt1

Cela ne semble pas utiliser bootstrap. 

https://github.com/LukaszWatroba/v-accordion

cela devrait être un code possible pour faire votre propre accordéon avec du matériel

http://blog.sodhanalibrary.com/2016/02/accordion-with-angularjs-material-ui.html#.WKxqI1UrJaQ

1
Dominik Heim