【问题标题】:PrimeNG autocomplete with object bindingPrimeNG 自动完成与对象绑定
【发布时间】:2017-06-22 05:28:52
【问题描述】:

目前使用我的自动完成设置,我的输入字段显示“[object Object]”而不是所选建议的相应属性。

建议本身呈现正常,正确显示 groupName 和 groupDescription 属性,但选择后我的输入只是呈现对象而不是像我希望 [field] 属性指示的“groupName”字段。

        <p-autoComplete [(ngModel)]="groupSearchText" [suggestions]="groupResults" (completeMethod)="search($event)" [field]="groupName"  [size]="30" [minLength]="3">

            <template let-group pTemplate="item">
                <div class="ui-helper-clearfix" style="border-bottom:1px solid #D5D5D5">
                    <div style="font-size:18px;margin:10px 10px 0 0">{{group.groupName}}</div>
                    <div style="font-size:10px;margin:10px 10px 0 0">{{group.groupDescription}}</div>
                </div>
            </template>

        </p-autoComplete>

【问题讨论】:

    标签: angular primeng


    【解决方案1】:

    [field]="groupName" 更改为field="groupName"

    如果您查看 PrimeNG 的文档,他们也不会将 [] 用于 field

    来自 PrimeNG 文档的示例:

    <p-autoComplete [(ngModel)]="countries" [suggestions]="filteredCountriesMultiple" (completeMethod)="filterCountryMultiple($event)" styleClass="wid100"
        [minLength]="1" placeholder="Countries" field="name" [multiple]="true">
    </p-autoComplete> 
    

    我还在自己的应用中使用[field] 进行了测试,导致了您提到的同样问题。

    【讨论】:

    • 谢谢,不知道我需要多长时间才能看到差异。
    • 带括号 [] 的属性是指 Typescript 对象,如果将字段名作为字符串,如 [field]=" 'fieldName' ",仍然可以保留括号
    • 关于如何组合多个字段的任何想法?
    • 如何在此设置一个禁用属性,以便在某个条件下禁用该字段?
    • 我想知道如何在表单中放置一个数组元素,例如,如果我们有像 { "group":["name":"test","description":"test"] 这样的值我只想访问第 0 个元素我应该如何实现这一点
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-05-20
    • 2020-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-13
    • 2018-11-28
    相关资源
    最近更新 更多