создание сгруппированного и подгруппированного выпадающего списка Angularjs - PullRequest
0 голосов
/ 19 марта 2019

Я пытаюсь создать выпадающий список в angularJS, который заполняется Json.Мне нужны группы и подгруппы.Однако у меня возникают проблемы, когда мне нужно открыть группу внутри моего ng-repeat.Я использую кнопки, чтобы можно было выбирать все элементы, включая заголовки, и отображать элементы в зависимости от условий.

HTML и угловой код:

(function() {
  'use strict';

  angular.module('cdeApp')
    .component('advCrimeSelect', {
      controller: AdvCrimeSelectController,
      templateUrl: 'src/components/advCrimeSelect/index.html',
      bindings: { onChanges: '<', crimes: '<', selectedCrime: '<', groups: '<'}
    });

  AdvCrimeSelectController.$inject = ['$log'];
  function AdvCrimeSelectController($log) {
    var vm = this;

    vm.$onInit = construct;

    function construct() {
      vm.crimeChanged = crimeChanged;
      vm.openDdl = openDdl;
      vm.openGroups = openGroups;
      vm.ddlOpen = false;
      vm.openPerson = false;
      vm.openProperty = false;
      vm.openSociety = false;
      vm.groupName = " ";
    }

    function crimeChanged() {
      if (vm.onChanges)
        vm.onChanges({ crime: vm.selectedCrime });
    }

    function openDdl(){
      if(vm.ddlOpen == false)
        vm.ddlOpen = true;
      else {
        vm.ddlOpen = false;
      }
    }

    function openGroups(group){
      vm.groupName = group;
      console.log(vm.groupName);
    }

  }
})();
<div>
  <button ng-click="$ctrl.openDdl()" class="sans-serif col-12 field field-sm select border-blue">
    {{$ctrl.selectedCrime.crime}}</button>
    <div ng-show="$ctrl.ddlOpen" ng-repeat="g in $ctrl.groups">
      <button ng-click="$ctrl.openGroups(g.id)" class="sans-serif col-12 field select field-sm border-blue">
        {{g.text}}</button>
        <div ng-show="{{g.id}} == $ctrl.groupName">stuff</div>
    </div>
</div>

Сравнение в ng-show внутри цикла под кнопкой возвращает то же значение при нажатии, а также с помощью g.id.Так что я не уверен, почему мое нг-шоу вообще не показывает div с «мелочами».Условие должно быть истинным при каждом щелчке по группе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...