Угловой материал DatePicker - пустое всплывающее окно в продукт - PullRequest
0 голосов
/ 25 марта 2019

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

Но когда я перешел на производство, оно начало себя так вести. Затем я попытался воспроизвести в моем регионе, используя ng build --prod и ng serve --prod. Теперь я могу воспроизвести проблему и в моем регионе.

Что я хочу: всплывающее окно DatePicker должно отображаться с правильным стилем и иметь возможность выбрать дату

Что работает сейчас: локально работает с ng build и ng serve

В чем проблема: в prod (или с использованием ng build --prod и ng serve --prod) всплывающее окно отображается пустым. пожалуйста, на картинке ниже

Что я пробовал: После исследования я нашел несколько предложений, чтобы попробовать ng serve --prod --build-optimizer=false, также попробовав, сделав "buildOptimizer": false в angular.json

Ошибка: когда я нажимаю на иконку выбора даты, я могу ниже ошибки

TypeError: Cannot read property 'getElementsByClassName' of

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

package.json:

  "dependencies": {
    "@angular/animations": "^7.0.3",
    "@angular/cdk": "^7.0.3",
    "@angular/common": "~7.0.0",
    "@angular/compiler": "~7.0.0",
    "@angular/core": "~7.0.0",
    "@angular/flex-layout": "^7.0.0-beta.19",
    "@angular/forms": "~7.0.0",
    "@angular/http": "~7.0.0",
    "@angular/material": "^7.0.3",
    "@angular/material-moment-adapter": "^7.3.4",
    "@angular/platform-browser": "~7.0.0",
    "@angular/platform-browser-dynamic": "~7.0.0",
    "@angular/router": "~7.0.0",
    "@swimlane/ngx-charts": "^10.1.0",
    "angular-google-charts": "^0.1.3",
    "bootstrap": "^4.1.3",
    "chart.js": "^2.8.0",
    "core-js": "^2.5.4",
    "dotenv": "^7.0.0",
    "hammerjs": "^2.0.8",
    "jquery": "^3.3.1",
    "moment": "^2.24.0",
    "ng-pick-datetime": "^5.2.6",
    "ng2-charts": "^2.0.3",
    "ng2-tooltip-directive": "^2.1.8",
    "ng4-charts": "^1.0.2",
    "ngx-cookie-service": "^2.1.0",
    "rxjs": "~6.3.3",
    "rxjs-compat": "^6.3.3",
    "zone.js": "~0.8.26"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "^0.11.4",
    "@angular/cli": "~7.0.2",
    "@angular/compiler-cli": "~7.0.0",
    "@angular/language-service": "~7.0.0",
    "@types/jasmine": "~2.8.8",
    "@types/jasminewd2": "~2.0.3",
    "@types/jquery": "^3.3.29",
    "@types/node": "~8.9.4",
    "codelyzer": "~4.5.0",
    "jasmine-core": "~2.99.1",
    "jasmine-spec-reporter": "~4.2.1",
    "karma": "~3.0.0",
    "karma-chrome-launcher": "~2.2.0",
    "karma-coverage-istanbul-reporter": "~2.0.1",
    "karma-jasmine": "~1.1.2",
    "karma-jasmine-html-reporter": "^0.2.2",
    "ngx-spec": "^2.0.0",
    "protractor": "~5.4.0",
    "ts-node": "~7.0.0",
    "tslint": "~5.11.0",
    "typescript": "~3.1.1"
  }

HTML:

        <mat-form-field>
                <mat-label>From Date</mat-label>
                <input  [value]="date.value" matInput [matDatepicker]="summBoardFromDatePicker"  placeholder="From Date" [(ngModel)]="summBoardFromDate">
                <mat-datepicker-toggle  matSuffix [for]="summBoardFromDatePicker"></mat-datepicker-toggle>
                <mat-datepicker #summBoardFromDatePicker></mat-datepicker>
        </mat-form-field>

enter image description here

1 Ответ

1 голос
/ 25 марта 2019

Кажется, что это дефект материала. Не решение, а обходной путь, который работал для меня. Можете ли вы попробовать внести следующие изменения в ваш angular.json

"optimization": false
"aot": false
"buildOptimizer": false
...