标签: primeng-dropdowns

如何为PrimeNG p-dropdown设置默认值

我在angular5应用程序中使用PrimeNG.我有p-dropdown的问题

我有显示国家的p-down.我正确绑定选择选项,它工作正常(此数据来自api),但我需要为此p-dropdown设置默认选择选项为"India".

我将ng-model值设置为印度,但它不起作用.

我的dummy.component.html代码

<div class="form-group col-md-2">
    <div>
        <label for="inputEmail4"> Select Country</label>
        <span style="color:red">*</span>
    </div>
    <p-dropdown name="country" [options]="countries" [(ngModel)]="applicant.country" placeholder="select country"
        (onChange)="getStatebyCountry(applicant.country,$event)" #country="ngModel" required>
    </p-dropdown>
    <span *ngIf="country.invalid && (country.dirty || country.touched)">
        <span [hidden]="!country.hasError('required')" style="color:#ffa500">country is mandatory</span>
    </span>
</div>
Run Code Online (Sandbox Code Playgroud)

我的dummy.component.ts

export class dummyComponent implements OnInit {
    //variable declaration scope for all controller function
    applicant: any = {};
    country: string; constructor() {
    }
    ngOnInit() {
        this.applicant.country = 'India';
    } 
    this.countries = [];
// this.countries.push({ label: 'Select Country', value: '' });
//getallcountries …
Run Code Online (Sandbox Code Playgroud)

primeng primeng-dropdowns angular5

11
推荐指数
3
解决办法
3万
查看次数

带有虚拟滚动的PrimeNG下拉菜单无法保持选择

我正在使用PrimeNG具有自定义筛选和启用虚拟滚动功能的下拉组件。

我发现重新打开该组件时,它没有滚动回到视图列表中的最后一个选择,而是仅滚动回到列表的顶部,这意味着您必须进行物理滚动才能找到所做的选择。

看到这个例子stackblitz

我确实在这里遇到了一个解决方案,该解决方案涉及调用scrollToIndexCdkVirtualScrollViewport实例,这听起来像对我有用。但是,当我尝试将其合并到代码中时,实例变量显示为未定义。

有谁知道这里的正确方法?我正在使用PrimeNG 7.1.3。

谢谢

primeng angular primeng-dropdowns angular-cdk-virtual-scroll

9
推荐指数
1
解决办法
476
查看次数

AutoComplete框的多个字段(primeng 4.2.0和Angular 4)

如何在primeng自动完成框中显示多个字段.

例如:

<p-autoComplete [(ngModel)]="val" [suggestions]="results" (completeMethod)="search($event)" field="name,lastname"></p-autoComplete>

or 
<p-autoComplete [(ngModel)]="val" [suggestions]="results" (completeMethod)="search($event)" field="name+' '+lastname"></p-autoComplete>
Run Code Online (Sandbox Code Playgroud)

但是这不起作用.当我在一个字段属性中传递2个值时,如上所示,它不会在用户界面中显示任何值,对于单个值,它可以完美地工作

(例如:-field = "名称")

.

primeng angular primeng-datatable angular4-forms primeng-dropdowns

7
推荐指数
1
解决办法
1355
查看次数

具有反应形式的 p-dropdown 未正确绑定

我正在使用 primeng 下拉菜单,并且很难将我的对象添加到下拉菜单中。它确实用空项目填充下拉列表..不知道如何指定字段名称。

超文本标记语言

<div class="form-group col-xs-3 col-md-3"
                                     [ngClass]="{
                                     'has-error':((ersaForm.get('costCenter').touched || ersaForm.get('costCenter').dirty ) && 
                                      !ersaForm.get('costCenter').valid) || (ersaForm.get('costCenter').value.cost_center_name == '')
                                     }">
 <label for="costCenterId" class="control-label">Cost Center</label>
 <p-dropdown [options]="iCostCenter" styleClass="form-control" formControlName="costCenter" placeholder="Cost Center (required)" id="costCenterId" name="costCenter"  dataKey="cost_center_id">
</p-dropdown>
Run Code Online (Sandbox Code Playgroud)

目的

    {
  "result": [
    {
      "cost_center_id": 0,
      "cost_center_name": "0"
    },
    {
      "cost_center_id": 1,
      "cost_center_name": "1"
    },
    {
      "cost_center_id": 2,
      "cost_center_name": "2"
    },
}
Run Code Online (Sandbox Code Playgroud)

TS

    export interface ICostCenter{

        cost_center_id: string,
        cost_center_name: string
    }

   iCostCenter: ICostCenter[];
    this._appParams.getAllCostCenters()
            .subscribe(
            data => {
                this.iCostCenter = data.result;

            }
Run Code Online (Sandbox Code Playgroud)

typescript primeng angular primeng-dropdowns

7
推荐指数
2
解决办法
2万
查看次数

primeng p-dropdown未触发更改事件

我正在使用primeng 5.2.4并且我正在尝试这个:

<p-dropdown [options]="months" [(ngModel)]="selectedMonth"
   (change)="selectMonth()"></p-dropdown>
Run Code Online (Sandbox Code Playgroud)

首次加载页面时会调用selectMonth方法,而下拉列表中的后续选择则不会调用selectMonth方法.如果我将其更改为单击事件它可以工作(但是在单击下拉列表时会出现一个事件,而在选择值时会出现另一个事件).

关于我可能做错的任何想法?我回滚到4.3.0并看到相同的行为.

谢谢!

primeng primeng-dropdowns

6
推荐指数
1
解决办法
1万
查看次数

通过对话框隐藏的PrimeNG下拉列表

我有一个使用PrimeNG组件的Angular2应用程序.

我想在对话框中输入一个下拉列表.但是,当我实现此功能时,下拉菜单会被对话框的限制所截断,如下面的屏幕截图所示.我想要的是它显示在对话框上方并显示所有选项.

在此输入图像描述

它只是一个小对话框,我不想为此创建一个大的对话框,因为会有很多空的未使用空间.

我的html代码如下:

<p-dialog header="Repack" [(visible)]="display" showEffect="fade" minHeight="200">
    <div class="row col-md-12" align="center">
        <button pButton (click)="viewRepack()" label="View Repack"></button>
    </div>
    <div class="row col-md-12"><strong>Edit Table Assignment: </strong></div>
    <p-dropdown [options]="tables" [(ngModel)]="selectedTable" [style]="{width: '100%'}"></p-dropdown>
    <button pButton label="Save" (click)="save()" style="float:right;margin-right:3px;margin-top:5px;"></button>
</p-dialog>
Run Code Online (Sandbox Code Playgroud)

如果有人可以就此提供任何建议,将不胜感激.

primeng angular primeng-dropdowns primeng-dialog

5
推荐指数
4
解决办法
1万
查看次数

当 ngModel 变量是对象时,p-dropdown 不显示正确的标签

我正在使用 PrimeNG 的 p-dropdown 组件。当页面最初加载时,我正在设置,ng-model但下拉列表始终将第一个元素显示为所选元素。

超文本标记语言

<p-dropdown [options]="cities" [(ngModel)]="selectedCity"  optionLabel="name" [showClear]="true"></p-dropdown>
<p>Selected City: {{selectedCity ? selectedCity.name : 'none'}}</p>
Run Code Online (Sandbox Code Playgroud)

TS

this.cities = [
            {label:'New York', value:{id:1, name: 'New York', code: 'NY'}},
            {label:'Rome', value:{id:2, name: 'Rome', code: 'RM'}},
            {label:'London', value:{id:3, name: 'London', code: 'LDN'}},
            {label:'Istanbul', value:{id:4, name: 'Istanbul', code: 'IST'}},
            {label:'Paris', value:{id:5, name: 'Paris', code: 'PRS'}}
        ];
Run Code Online (Sandbox Code Playgroud)

即使我将其更改为其他城市,纽约也会在下拉列表中显示为所选城市。ng-model

typescript primeng angular primeng-dropdowns

5
推荐指数
1
解决办法
1万
查看次数

如何预选 Primeng Dropdown 值?

我在我的角度应用程序中有带有一组值的 primeng 下拉菜单。

在视图 Screen 中,下拉列表不显示所选值(保存在数据库中的值),而是显示“选择”。

HTML:

<p-dropdown    [options]="reasons" [(ngModel)]="selectedReason"   (onChange)="getCompleteReason($event)" styleClass="ui-column-filter" filter="true"> </p-dropdown>
Run Code Online (Sandbox Code Playgroud)

组件.ts

this.reasons = [];
    this.reasons.push({label: 'Select', value: null});
    this.reasons.push({label: 'Reason 1', value: 'Reason 1'});
    this.reasons.push({label: 'Reason 2', value: 'Reason 2'});
    this.reasons.push({label: 'Reason 3', value: 'Reason 3'});
    this.reasons.push({label: 'Other', value: 'Other'});


this.selectedReason = 'Reason 2' (eg value stored in the db)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

angular primeng-dropdowns

5
推荐指数
1
解决办法
2万
查看次数

PrimeNG 多选自动对焦


在 Angular v7 项目中使用 PrimgNG v7.1.3。

在一个简单的组件中实现了 Multiselect ( https://www.primefaces.org/primeng-7.1.3/#/multiselect )。
需要在页面加载时设置焦点。

下面的解决方案适用于下拉但不适用于多选:

在 HTML 中: <p-dropdown #someDropdown></p-dropdown>

在组件中:

import { Dropdown } from 'primeng/dropdown';
@ViewChild('someDropdown') someDropdown: Dropdown;

this.someDropdown.applyFocus();
Run Code Online (Sandbox Code Playgroud)

但是对于Multiselect,它会抛出这种方法无效的错误。

尝试了此 SO 链接中提到的“ngIf 中的控制”中的第一个答案,仍然没有运气:primeng:设置焦点控制也
检查了 PrimeNG 文档和用户指南,但没有提到聚焦功能。

后来也试了下。它都没有奏效。

this.someMultiSelect.focus();
this.someMultiSelect.applyFocus();

this.someMultiSelect.el.focus();
this.someMultiSelect.el.applyFocus();

this.someMultiSelect.el.nativeElement.focus();
this.someMultiSelect.el.nativeElement.applyFocus();

this.someMultiSelect.containerViewChild.focus();
this.someMultiSelect.containerViewChild.applyFocus();

this.someMultiSelect.containerViewChild.nativeElement.focus();
this.someMultiSelect.containerViewChild.nativeElement.applyFocus();
Run Code Online (Sandbox Code Playgroud)

Stackblitz:https ://stackblitz.com/edit/primeng-multiselect-autofocus

请建议。

任何帮助表示赞赏。

autofocus primeng angular primeng-dropdowns

5
推荐指数
1
解决办法
579
查看次数

PrimeNG p-dropdown 不采用自定义默认值

p-dropdown在我的应用程序中使用,并注意到升级到 PrimeNG 9 和 Angular 10 后,p-dropdown不再将自定义值作为默​​认值。相反,它采用选项列表中存在的第一个值作为默认值。此外,标签现在只填充下拉列表的一半,而重置只是空的。我怎样才能解决这个问题?提前致谢。

这是我的模板:

<div fxLayout="row" fxLayoutAlign="end center" fxLayoutGap="10px">
    <p-dropdown [options]="cityList" tooltipPosition="left" [(ngModel)]="selectedCity" optionLabel="label"></p-dropdown>
    <p-dropdown [options]="carList" tooltipPosition="left" [(ngModel)]="selectedCar" optionLabel="label"></p-dropdown>
    </p-button>
</div>
Run Code Online (Sandbox Code Playgroud)

这是我的 ts 代码:

this.carList = [{ label: 'BMW', value: 'BMW' },{ label: 'Tesla', value: 'Tesla' },{ label: 'Toyota', value: 'Toyota' }];
this.cityList = [{ label: 'New York', value: 'New York' },{ label: 'Chicago', value: 'Chicago' },{ label: 'Boston', value: 'Boston' }];


this.selectedCity = { label: 'None', value: 'None' };
this.selectedCar = …
Run Code Online (Sandbox Code Playgroud)

html primeng angular primeng-dropdowns

5
推荐指数
1
解决办法
4766
查看次数