【问题标题】:Angular, PrimeNG - p-dropdown rendered unexpectedlyAngular,PrimeNG - p-dropdown 意外呈现
【发布时间】:2019-11-11 06:30:33
【问题描述】:

我在我的 Angular 应用程序中使用 PrimeNG。我打算使用 p-dropdown 组件,但它在我的组件中呈现非常奇怪。

这看起来不像他们在文档中展示的那样。

这里是 package.json。 (也许 Bootstrap 和 PrimeNG 版本控制有偏差或类似情况?):

{
  "name": "soar",
  "version": "0.0.0",
  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
  },
  "private": true,
  "dependencies": {
    "@angular/animations": "^7.2.15",
    "@angular/cdk": "^8.0.1",
    "@angular/common": "~7.2.0",
    "@angular/compiler": "~7.2.0",
    "@angular/core": "^8.0.2",
    "@angular/forms": "~7.2.0",
    "@angular/material": "^8.0.1",
    "@angular/platform-browser": "~7.2.0",
    "@angular/platform-browser-dynamic": "~7.2.0",
    "@angular/router": "~7.2.0",
    "@ng-bootstrap/ng-bootstrap": "^4.1.3",
    "@ngrx/effects": "^7.4.0",
    "@ngrx/store": "^7.4.0",
    "@ngrx/store-devtools": "^7.4.0",
    "bootstrap": "^4.3.1",
    "chart.js": "^2.8.0",
    "core-js": "^2.5.4",
    "font-awesome": "^4.7.0",
    "primeng": "^8.0.0",
    "quill": "^1.3.6",
    "rxjs": "~6.3.3",
    "tslib": "^1.9.0",
    "zone.js": "~0.8.26"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "~0.13.0",
    "@angular/cli": "~7.3.9",
    "@angular/compiler-cli": "~7.2.0",
    "@angular/language-service": "~7.2.0",
    "@ngrx/schematics": "^7.4.0",
    "@types/jasmine": "~2.8.8",
    "@types/jasminewd2": "~2.0.3",
    "@types/node": "~8.9.4",
    "codelyzer": "~4.5.0",
    "jasmine-core": "~2.99.1",
    "jasmine-spec-reporter": "~4.2.1",
    "karma": "~4.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",
    "protractor": "~5.4.0",
    "ts-node": "~7.0.0",
    "tslint": "~5.11.0",
    "typescript": "~3.2.2"
  }
}

这里是标记:

 <form [formGroup]="registerForm">
    <div class="form-group">
      <p-dropdown [options]="productionSelectItems" formControlName="productionId"></p-dropdown>
    </div>
</form>

我在整个应用程序范围内使用 Bootstrap,但我不认为这会是个问题。全面披露:我不是 UI/UX 人员,但我认为这应该呈现为某种 select 元素。这可能是什么原因造成的,我该如何解决?

数据不是问题。 Hello World! 这是我硬编码的SelectItem。它的值为 1,其标签为 Hello World!

【问题讨论】:

  • 完全披露:我没有对这个问题投反对票——但完全同意投反对票。首先,strangelyunexpectedly 是什么意思?为了帮助您,需要查看您的 Angular 代码(productionSelectItems 的内容是什么)。 package.json 完全没用。
  • 选择项的内容不是问题@Felix。我对一个 SelectItem 进行了硬编码,以将“Hello World”显示为标签,将 1 显示为值...

标签: javascript angular primeng


【解决方案1】:

我通过将 PrimeNG 和 Primeicons 样式导入我项目的 styles.scss 文件中解决了这个问题:

@import "~primeng/resources/primeng.min.css"; 
@import "~primeicons/primeicons.css";

完成此操作后,下拉列表看起来类似于 PrimeNG 文档中的演示:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-09-15
    • 1970-01-01
    • 2018-08-28
    • 2021-01-07
    • 2019-01-02
    • 1970-01-01
    • 2022-08-21
    • 2022-06-27
    相关资源
    最近更新 更多