Падение PrimeNG 6 не правильно показало - PullRequest
0 голосов
/ 28 ноября 2018

Я перешел на PrimeNG 6.1.7 и у меня проблема с p-выпадающим меню.Это мой импорт кода в app.module (взят из простого примера):

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { AppComponent } from './app.component';
import { BrowserAnimationsModule} from '@angular/platform-browser/animations'; 
import {DropdownModule} from 'primeng/dropdown'; // include this for dropdown support
@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule,
    BrowserAnimationsModule,
    DropdownModule // dropdown support
  ],
  providers: [],
  bootstrap: [AppComponent],
  schemas:
        []

})
export class AppModule { }

В app.component.ts:

import { Component, OnInit } from '@angular/core';
import {SelectItem} from 'primeng/api';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent implements OnInit{
  employes: SelectItem[];
  selectedEmploye: any;  

  constructor(){
    this.employes = [
      {label:'Select Employee', value:null},
      {label:'Franc', value:1},
      {label:'Kiran', value:2},
      {label:'John', value:3},
    ];
  }
ngOnInit(){
}
}

А в html я:

<p-dropdown employes="" ngmodel="" options="" selectedemploye=""></p-dropdown>
Selected Employee: {{selectedEmploye }}

Я также установил примитивы и импортировал их в angular.json:

...
"styles": [
   "src/styles.css",
   "node_modules/primeicons/primeicons.css"
],
...

Неверное отображение выпадающего списка: enter image description here

Любое предложение?Большое спасибо ...

Ответы [ 3 ]

0 голосов
/ 28 ноября 2018

Я использую sass в своем угловом проекте, и вот как я импортирую primeng css файлы, все работает нормально

style.scss

@import "primeicons/primeicons.css";
@import "primeng/resources/themes/nova-dark/theme.css";
@import "primeng/resources/primeng.min.css";

primeicons - это другой пакет, поэтому убедитесь, чтоустановить его npm install primeicons --save

0 голосов
/ 24 июня 2019

Я столкнулся с той же проблемой.Обязательно добавьте необходимые зависимости через npm install, а также модуль анимации браузера от angular core.Тем не менее, в конечном итоге, что для меня решило проблему, так это то, что мне пришлось установить несколько дополнительных свойств primeNG, перечисленных в документации для автозаполнения, в моем коде шаблона, а затем мне пришлось переопределить стили по умолчанию PrimeNG в моем файле scss.

Ниже перечислены код шаблона и scss.Очевидно, вы захотите настроить в соответствии со стилем, который вы хотите, но это сработало для меня.

PrimeNG шаблон автозаполнения кода

 <p-autoComplete name="p-autoComplete" [style]="{'width':'100%'}" [inputStyle]="{'width':'100%'}" class="p-autocomplete"
      [suggestions]="listAuthors" (completeMethod)="filterAuthors($event)" [size]="40"
      field= "author" placeholder="Search Quotes" [dropdown]="true" [minLength]="1" [autoHighlight] = "true"
      [dropdown]="true" [autofocus]= "true" [style]="{'text-transform': 'uppercase'}"
      scrollable="true">
  </p-autoComplete>

scss

.ui-autocomplete-dd .ui-autocomplete-dropdown.ui-corner-all{
  position:absolute;
  transform: translateX(-100%);
}

.ui-autocomplete{
  width: 100% !important;
}
  .ui-autocomplete-input{
  width: 100% !important;
}
0 голосов
/ 28 ноября 2018

правильный HTML-код для использования выпадающего списка в этом случае должен быть:

<p-dropdown [options]="employes" [(ngModel)]="selectedEmploye"></p-dropdown>

Если после этого исправления выпадающий список выглядит не очень хорошо, то вам нужно посмотреть, как вы установилибиблиотека primeng и если стили настроены правильно и импортированы в ваш index.html (https://www.primefaces.org/primeng/#/setup)

<link rel="stylesheet" type="text/css" href="/node_modules/primeicons/primeicons.css" />
<link rel="stylesheet" type="text/css" href="/node_modules/primeng/resources/themes/nova-light/theme.css" />
<link rel="stylesheet" type="text/css" href="/node_modules/primeng/resources/primeng.min.css" />
...