Форма Angular MaterialJS с различными вариантами сохранения - PullRequest
0 голосов
/ 18 октября 2018

Я пытаюсь сохранить данные формы в mdDialog, но с параметрами (сохранить и закрыть) диалоговое окно и (сохранить), которые сохранят данные формы, затем откроют другое диалоговое окно пустое диалоговое окно без необходимости снова закрывать и открывать mdDialog,проблема в том, как вызвать одну и ту же функцию SaveData в одной и той же форме для обеих операций сохранения?

$scope.saveData = function (isValid) {
        if (isValid) {
          updateservice.postdata($scope.myformdata)
            .then(function (data) {
              $mdDialog.hide();
            });
      // error handling
        } 
      };

и в шаблоне:

<md-dialog>
  <form name="form" ng-submit="saveData(form.$validform)" novalidate>
    <md-dialog-content>
      <div class="md-dialog-content">
        <div>
        </div>
        <table class="table display" border="1" span="1" name="newForm" novalidate role="form" ng-style="{ width: th.width }">
           </tr>
          <tr>
            <td><input type="text" class="form-control text-center" placeholder="required"  ng-required="true"></td>
            <td><input type="text" class="form-control text-center" placeholder="optional" ng-required="true"></td>
          </tr>
        </table>
      </div>
    </md-dialog-content>
    <md-dialog-actions layout="row">
      <md-progress-circular md-mode="indeterminate" md-diameter="20px" class="spinner"></md-progress-circular>
      <button type="button" class="btn btn-primary" ng-click="save()" >Save</button> 
      <button type="submit" class="btn btn-primar">Save and close</button> 
      <button type="button" class="btn btn-default" ng-click="cancel()" ng-disabled="loading">Cancel</button>
      </md-dialog-actions>
  </form>
</md-dialog>

Я изменил кнопку Сохранить с кнопкой типа не публикуетсяформа данных и изменение типа для отправки, как сохранение и закрытие сохраняет данные, затем открывает и закрывает диалоговое окно.

вот codePen с моим кодом:

https://codepen.io/anon/pen/ZqoYRx

1 Ответ

0 голосов
/ 19 октября 2018

Как насчет передачи аргумента, подобного isSaveAndClose, в функции сохранения:

В HTML:

<button type="button" class="btn btn-primary" ng-click="save(false)" ng-show="!loading">Save</button> 
<button type="button" class="btn btn-primar" ng-click="save(true)">Save and close</button>

В JS:

$scope.save = function (isSaveAndClose) {
      saveData();
      if (isSaveAndClose)
        $mdDialog.hide().then(showCustomConfirm);
    };
...