Коврик datePicker появляется за NgbModal - PullRequest
0 голосов
/ 24 февраля 2020

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

Вот мой модал. html:

    <div class="modal-header">
<h3 class="modal-title">Update Supplier Order:</h3>
</div>

<div class="modal-body">


<div class="container">
  <form [formGroup]="form" (ngSubmit)="UpdateQuote()">
    <div class="mat-form-field">
      <input class="invisible" placeholder="quoteId" formControlName="quoteId" value="{{supplierQuote.quoteId}}">

      <input class="invisible" placeholder="supplierId"  formControlName="supplierId" value="{{supplierQuote.supplierId}}" >

      <input class="invisible" placeholder="stockReferenceId"  formControlName="stockReferenceId"  value="{{supplierQuote.stockReferenceId}}" >

      <input class="form-control" placeholder="Price" formControlName="price" [ngClass]="{ 'is-invalid': submitted && f.price.errors }">
    </div>
      <br>
      <div class="form-group">
        <mat-form-field class="mat-form-field">
          <mat-label>Choose an effective date</mat-label>
          <input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="picker" formControlName="effectiveDate"
                 [ngClass]="{ 'is-invalid': submitted && f.expiryDate.errors }" style="z-index: 99999 !important;"/>
          <mat-datepicker-toggle matSuffix [for]="picker"></mat-datepicker-toggle>
          <mat-datepicker #picker></mat-datepicker>
        </mat-form-field>
      </div>


    <div class="form-group">
      <button mat-raised-button id="modal-cancel-button" (click)="activeModal.close(false)"> Cancel </button>
      <button class="btn btn-primary"> Update Supplier Order </button>
    </div>
  </form>
</div>
</div>

<div class="modal-footer">
  <p>This is a footer</p>
</div>

и вот мой modal.ts

    export class ModalOrderComponent implements OnInit {

  supplierQuote: SupplierQuotes;
  dataSource: any[];
  form: FormGroup;

  minDate: Date;
  maxDate: Date;
  submitted = false;

  constructor(public activeModal: NgbActiveModal,  public fb: FormBuilder,private _supplierQuotes: SupplierQuotesService) {

    this.initDates();

    this.form = this.fb.group({
      quoteId: [''],
      supplierId: [''],
      stockReferenceId: [''],
      price: ['', Validators.required],
      effectiveDate: ['', Validators.required]
  })
  }


  initDates() {
    this.minDate = new Date();
    this.maxDate = new Date();


    this.minDate.setDate(this.minDate.getDate() + 1);
    this.maxDate.setDate(this.minDate.getDate() + (365 * 3));


  }

  get f() {
    return this.form.controls;
  }
  ngOnInit() {
    console.log("IN MODAL: " + this.supplierQuote);
  }


  UpdateQuote(){
    this._supplierQuotes.UpdateSupplerQuotes(this.supplierQuote.quoteId,new SupplierQuotes(this.form, this.supplierQuote.quoteId ,this.supplierQuote.supplierId,this.supplierQuote.stockReferenceId)).subscribe(
      (response) => alert(JSON.stringify(response))
    );

  }

Я попробовал следующее CSS, но, похоже, оно не работает:

    .modal {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1050;
  display: none;
  overflow: hidden;
  -webkit-overflow-scrolling: touch;
  outline: 0;
}
.cdk-overlay-pane {
  position: absolute;
  pointer-events: auto;
  box-sizing: border-box;
  z-index: 1000;
  display: flex;
  max-width: 100%;
  max-height: 100%;
}

::ng-deep .cdk-overlay-container mat-datepicker-content{
  z-index:2000;
}

В данный момент я работаю Angular 8

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