【问题标题】:How to use correctly autocomplete component from Angular2 MaterialDesign?如何正确使用Angular2 MaterialDesign中的自动完成组件?
【发布时间】:2017-03-19 15:49:47
【问题描述】:

我一直在尝试使用 Angular Material2 中的自动完成组件。但我有一些疑问。

  1. 如何从 HTTP 服务加载建议数据,并即时过滤此列表?

  2. 如何在我的组件中访问选定的选项(对象)?

  3. 有没有办法用 HTML(多行值)格式化选定的选项,比如在 PrimeNg 上使用 pTemplate 自动完成?

示例: https://embed.plnkr.co/vR9QLk/

【问题讨论】:

    标签: angular autocomplete angular-material2


    【解决方案1】:

    你可以借助函数获取选中项,你的选中项在对象selectedOption

    displayFn(state: ExampleDataMode): string {
            this.selectedOption = state;
            console.log(this.selectedOption);///displays the selected item
            return state ? state.name : '';
    
        }
    

    此外,您可以处理用于从下拉列表中选择项目并将它们绑定到对象的事件

     <md-autocomplete #auto="mdAutocomplete" [displayWith]="displayFn">
          <md-option *ngFor="let state of filteredStates | async" [value]="state" (click)="selectedItem=state">
          {{ state.name }}
          </md-option>
        </md-autocomplete>
    

    您将在您的 selectedItem 对象中拥有选定的项目。

    注意:以上仅在用户点击项目时处理,如果用户通过需要单独处理的键事件进行选择则不起作用。

    LIVE DEMO

    【讨论】:

    • 我正在尝试从服务器加载自动完成值,然后再检索它正在执行 displaywith 函数有没有办法在检索后加载函数
    • 如何验证..用户是否从自动完成面板输入了值而不是任何随机词
    • 随便说说你的意思@Danny
    • 喜欢用户输入“rwerwq”来自动完成状态列表
    猜你喜欢
    • 1970-01-01
    • 2018-04-15
    • 1970-01-01
    • 2017-05-20
    • 2012-04-18
    • 1970-01-01
    • 2012-03-28
    • 2015-10-26
    • 1970-01-01
    相关资源
    最近更新 更多