Условное отображение элементов формы

0

Создание веб-сайта, на котором пользователь может просматривать список хранимых процедур и выбирать его, устанавливать параметры. Затем возвращаемые данные будут отображаться в виде диаграммы или таблицы. Таким образом, я на полпути, но теперь отрываясь от идеи, как отображать входные данные формы для параметров. Поэтому я возвращаю список параметров с типами для выбранной хранимой процедуры.

{  
   "DataSourceId":"21",
   "Params":[  
      {  
         "Id":"1",
         "Name":"DateFrom",
         "TypeId":"3"
      },
      {  
         "Id":"2",
         "Name":"DateTo",
         "TypeId":"3"
      },
      {  
         "Id":"3",
         "Name":"LineID",
         "TypeId":"1"
      },
      {  
         "Id":"4",
         "Name":"MachineID",
         "TypeId":"2"
      }
   ]
}

Как я могу условно отображать элемент ввода формы (выбор даты, выбор опции и т.д.). ng-required или ng-show не будут работать, поскольку я никогда не знаю, сколько параметров у меня будет. Пользовательская директива? Не знаю, с чего начать.

Любая помощь будет оценена по достоинству.

Теги:

1 ответ

1
Лучший ответ

Вы можете использовать ng-repeat с вложенным ng-switch. Затем используйте ng-switch-when чтобы изменить поведение, в зависимости от поля, которое вы использовали на ng-switch.

<span ng-repeat="param in Params">
    <span ng-switch on="param.TypeId">
        <div ng-switch-when="1"> <!-- your type 1 form --></div>
        <div ng-switch-when="2"> <!-- your type 2 form --></div>
        <div ng-switch-when="3"> <!-- your type 3 form --></div>
    </span>
</span>
  • 0
    Вау, так просто! Это может на самом деле работает, попробую это завтра утром. Спасибо
  • 1
    Работает отлично, спасибо :)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню