Angular 为“自动完成”初始化修补程序值

Angular 为“自动完成”初始化修补程序值,angular,primeng,primeng-dropdowns,Angular,Primeng,Primeng Dropdowns,我正在尝试动态地为“自动完成”分配一个值,但它不起作用 HTML <label for="centerId" class="control-label">Center</label> <p-autoComplete formControlName="center" id="centerId" [suggestions]="iCenter" placeholder="Center (requir

我正在尝试动态地为“自动完成”分配一个值,但它不起作用

HTML

<label for="centerId" class="control-label">Center</label>
                                    <p-autoComplete formControlName="center" id="centerId"  [suggestions]="iCenter" placeholder="Center (required)" (completeMethod)="searchCC($event)" [style]="{'width':'85%'}" [inputStyle]="{'width':'85%'}" field="name" dataKey="id" [dropdown]="true"></p-autoComplete>
ts

(对于field=“name”dataKey=“id”值相同,因此id=name)

***************************************更新***************************************************************** 让它工作,这里是如何


中心:{id:itimData.center,name:itimData.center},

属性“field”和“dataKey”不一定是对象的一部分

准备文件:

字段

要解析和显示的建议对象的字段

dataKey

用于唯一标识选项中的值的属性

如果您的列表如下所示:

const items = [
    {id: 1, name: 'Apple'}, 
    {id: 2, name: 'Banana'}, 
    {id: 3, name: 'Pineapple'}
];
然后属性'field'应该引用'name',而'dataKey'应该引用'id'

现在,如果您想将autocomplete的值设置为“菠萝”,那么patchValue如下所示

this.form.patchValue({
    item: {
        id: 3, // mandatory
        name: 'Pineapple' // optional
    }
});
Priming组件将搜索id等于3的对象。当存在匹配时,他会将选择设置为该对象


属性“字段”和“数据键”不一定是对象的一部分

准备文件:

字段

要解析和显示的建议对象的字段

dataKey

用于唯一标识选项中的值的属性

如果您的列表如下所示:

const items = [
    {id: 1, name: 'Apple'}, 
    {id: 2, name: 'Banana'}, 
    {id: 3, name: 'Pineapple'}
];
然后属性'field'应该引用'name',而'dataKey'应该引用'id'

现在,如果您想将autocomplete的值设置为“菠萝”,那么patchValue如下所示

this.form.patchValue({
    item: {
        id: 3, // mandatory
        name: 'Pineapple' // optional
    }
});
Priming组件将搜索id等于3的对象。当存在匹配时,他会将选择设置为该对象


错误的标记,请更正错误的标记,请更正更新我的上述代码。(原始发布和更新部分)我正在使用此接口。iCenter:{id:itimData.center,name:itimData.center},它不起作用。请参阅原始发布应该有类似此中心的内容:{id':itimData.center,'cost_name':itimData.center},还尝试了中心:[this.iCenter=[{id:itimData.center,name:itimData.center}]],没有错误,但什么也没有发生重复上面的代码。修复了问题,但另一个函数将其标记为答案…因为您将我放在正确的方向:)更新了上面的代码。(原始发布和更新部分)我正在使用接口this.iCenter:{id:itimData.center,name:itimData.center},它不起作用..请参阅原始贴子应具有类似此中心的内容:{id:itimData.center,'cost_name':itimData.center},还尝试了中心:[this.iCenter=[{id:itimData.center,name:itimData.center}],没有错误,但什么也没有发生重复上面的代码。修复了该问题,但另一个函数将其标记为答案…因为您为我指明了正确的方向:)