Я пытаюсь отменить мод загрузки с использованием Angular 6, когда сервер получает данные - PullRequest
0 голосов
/ 04 февраля 2019

Ну, это компонент, в котором я пытаюсь создать весь контент.Это беспорядок, который сохраняет данные, когда и что я хочу, чтобы модал исчез.

<div class="container">
    <div class="table-wrapper">
      <div class="table-title">
        <div class="row">
          <div class="col-sm-6">
            <h2>Codigos De <b>Acceso.</b></h2>
          </div>
          <div class="col-sm-6">
            <a href="#addProductModal" class="btn btn-success" data-toggle="modal"><i class="material-icons">&#xE147;</i> <span>Agregar nuevo codigo</span></a>
          </div>
        </div>
      </div>
      <div class='col-sm-12 pull-right d-flex flex-row-reverse'>
        <div id="custom-search-input">
          <div class="input-group">
            <input type="text" class="form-control" placeholder="Buscar" aria-label="Input group example" aria-describedby="btnGroupAddon2">
            <div class="input-group-append">
              <button class="btn btn-primary" id="btnGroupAddon2"><i class="fas fa-search"></i></button>
            </div>
          </div>
        </div>
      </div>
      <div class='clearfix'></div>
      <hr>
      <div id="loader"></div>
      <div id="resultados"></div>
      <div class='outer_div'></div>
    </div>
  </div>
  <!-- Add Modal HTML  -->
  <div id="addProductModal" class="modal fade">
    <div class="modal-dialog">
      <div class="modal-content">
        <form #dataForm="ngForm" (ngSubmit)="addData(dataForm)">
          <div class="modal-header">
            <h4 class="modal-title">Añadir Codigo</h4>
            <button type="button" class="close" data-dismiss="modal" id="dismiss" aria-hidden="true">&times;</button>
          </div>
          <div class="modal-body">
            <div class="form-group">
              <label>Código</label>
              <input type="text" name="code" class="form-control" #code="ngModel" [(ngModel)]="dataService.selectedData.code" required >

            </div>
            <div class="form-group">
              <label>Dirección</label>
              <input type="text" name="direction" class="form-control" #direction="ngModel" [(ngModel)]="dataService.selectedData.direction" required>
            </div>
            <div class="form-group">
              <label>Comentario</label>
              <input type="text" name="comment" class="form-control" #comment="ngModel" [(ngModel)]="dataService.selectedData.comment" required>
            </div>
            <div class="form-group">
              <label>Tech #</label>
              <input type="number" name="tech" class="form-control" #tech="ngModel" [(ngModel)]="dataService.selectedData.tech" required>
            </div>
          </div>
          <div class="modal-footer">
            <input type="button" class="btn btn-secondary" data-dismiss="modal" value="Cancelar">
            <input type="submit" class="btn btn-primary" value="Guardar datos">
          </div>
        </form>
      </div>
    </div>
  </div>
  <div class="center">

, и это мой файл ts:

import { Component, OnInit } from '@angular/core';
import { Data } from '../../models/data' // La ruta puede ser distinta.
import { DataService } from '../../services/data.service';
import { NgForm } from '@angular/forms';

@Component({
  selector: 'app-datas',
  templateUrl: './datas.component.html',
  styleUrls: ['./datas.component.css'],
  providers: [DataService]

})
export class DatasComponent implements OnInit {

  constructor(private dataService: DataService) { }

  ngOnInit() {}

  addData(form: NgForm) {
    this.dataService.postData(form.value)
      .subscribe(res => {
        this.resetForm(form);

      })
  }

  /*
  close(form?: NgForm){
    if
  }*/

  resetForm(form?: NgForm) {
    if(form){
      form.reset();
      var dismiss = document.querySelector('#addProductModal');
      console.log(dismiss);
      this.dataService.selectedData = new Data();
    }
  }

}

Как видите,последний метод называется resetForm, я пытался очистить форму при отправке данных, и я достиг этого, но мне нужно, чтобы модал отбрасывался.У кого-нибудь есть идея?

1 Ответ

0 голосов
/ 04 февраля 2019

NPM удалите jQuery прямо сейчас.Не используйте версию Bootstrap для JavaScript, установите ngx-bootstrap и используйте компоненты Angular.Они играют намного лучше с Angular.Ваш компонент не должен проверять DOM с помощью querySelector, и вы не должны использовать jQuery.Переписав компонент с помощью ngx-bootstrap, вы сможете получить экземпляр модального компонента Angular и вызвать close.

https://valor -software.com / ngx-bootstrap / # / modals

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