首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

与[displayWith]一起使用时,autocomplete不显示初始值

与[displayWith]一起使用时,autocomplete不显示初始值是因为[displayWith]是Angular Material中的一个指令,用于自定义如何显示选项的文本。当使用[displayWith]时,autocomplete组件将使用指定的函数来显示选项的文本,而不是默认的选项对象的toString()方法。

然而,autocomplete组件的初始值是根据选项对象的值来确定的,而不是根据显示的文本。因此,当使用[displayWith]时,autocomplete组件无法正确显示初始值。

解决这个问题的方法是在使用[displayWith]时,同时使用[ngModel]指令来绑定初始值。[ngModel]指令可以将初始值绑定到组件的模型中,从而确保初始值正确显示。

以下是一个示例代码:

代码语言:txt
复制
<mat-form-field>
  <input type="text" matInput [formControl]="myControl" [matAutocomplete]="auto" [ngModel]="selectedOption">
  <mat-autocomplete #auto="matAutocomplete" [displayWith]="displayFn">
    <mat-option *ngFor="let option of filteredOptions" [value]="option">
      {{ option.name }}
    </mat-option>
  </mat-autocomplete>
</mat-form-field>

在上面的代码中,[ngModel]="selectedOption"将初始值绑定到了selectedOption变量上。同时,[displayWith]="displayFn"指定了自定义的显示函数displayFn。

在组件的代码中,需要定义displayFn函数来返回选项的文本。例如:

代码语言:txt
复制
displayFn(option: any): string {
  return option ? option.name : '';
}

这样,当使用[displayWith]时,autocomplete组件将正确显示初始值。

关于腾讯云相关产品,腾讯云提供了云服务器(CVM)、云数据库(CDB)、云存储(COS)等一系列云计算产品,可以满足各种应用场景的需求。具体产品介绍和链接地址可以参考腾讯云官方网站:https://cloud.tencent.com/

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

JavaScript预解析处理过程原来是这回事

一般来说,Javascript代码的执行包括两个过程:预解析处理过程 和 逐行解读过程。在代码逐行解读前,Javasript引擎需要进行代码的预处理过程。预解析处理的工作主要是变量提升和给变量分配内存,具体过程是在每个作用域中查找var声明的变量、函数定义和命名函数(函数参数),找到它们后,在当前作用域中给他们分配内存,并给他们设置初始值。预解析设置的初始值分别是:对于var声明的变量,初始值是undefined,对函数定义,变量名为函数名,函数变量的初始值为函数定义本身;对命名参数,如果函数调用时没有指定参数值,则命名参数的初始值为undefined,如果函数调用是指定了参数值,则命名参数的初始值为指定的参数值。

02

视觉格式化模型-控制框

本文介绍了HTML中元素显示方式的控制,包括块级元素、行内元素、行内块级元素、以及display:inline-block、display:block、display:list-item、display:run-in、display:compact、display:marker、display:table、display:inline-table、display:table-row-group、display:table-header-group、display:table-footer-group、display:table-row、display:table-column-group、display:table-column、display:table-cell、display:table-caption、以及none。其中,块级元素、行内元素、行内块级元素、以及display:inline-block、display:block、display:list-item、display:run-in、display:compact、display:marker、display:table、display:inline-table、display:table-row-group、display:table-header-group、display:table-footer-group、display:table-row、display:table-column-group、display:table-column、display:table-cell、display:table-caption、以及none都可以用来控制元素的显示方式,并介绍了CSS中display的常用属性值及其意义。"

09
领券