在下拉菜单中设置默认值

在角度2中,我尝试使用select2和semantic-ui下拉菜单来使用下拉搜索。当它没有默认值时可以。但是当我在页面编辑数据中设置默认值时,数据不会显示默认值。只有当我使用“setTimeout()”时它才会显示值。无论如何,我可以显示默认值没有setTimeout?在下拉菜单中设置默认值

HTML(SELECT2版本)

HTML(语义版本)

<select class="form-control ui fluid search dropdown" id="input-contactperson" (change)="setContactPerson($event.target.value)"> 

<option value="" data-value="">please select</option>

<option *ngFor="let contactperson of objContactPerson" [selected]="contactperson.contactPersonId == contactPerson" value="{{contactperson.contactPersonId}}">{{contactperson.contactPersonName}}</option>

</select>

在HTML上述我用[选择]以匹配值,而contactPerson等于contactperson.contactPersonId它不会显示我是否不使用setTimeout()

组件

setTimeout(function() { 

// $("#input-contactperson").select2("val", contactpersonid); //select 2

$(".ui.dropdown").dropdown("set selected", contactpersonid); // semantic

}, 500);

回答:

使用[attr.value]设置下拉列表的值。

例如:[attr.value] = “contactperson.contactPersonId”

{{contactperson.contactPersonName}}

随着空安全opeerator

{{contactperson .contactPersonName}}

另外,看看你是否在控制台中得到任何异常。情况可能如此,因为您可能试图访问在呈现模板UI时不可用的数据。 像上面一样使用空安全运算符“?”。这将延迟空/未定义的值,当值可用时,模板将显示数据。

正如您所提到的,数据仅在超时后显示。尝试空安全运营商。它应该工作,你不需要超时。

回答:

<select class="select-state" #playerState (change)="0" [(ngModel)]="variable" 

value="{{variable}}"

[disabled]="isPlayerInfoDisabled" [ngClass]="{'highlight':contactInfoError.has('INVALIDSTATE') && isHighlight == true}">

<option *ngFor="let s of states; let i = index" [attr.value]="s">{{statesValue[i]}}</option>

</select>

只要拿这个例子的参考,就像我为我做的那样。 它肯定会工作,除非你正在做别的事情。 在类中定义这个变量作为变量:number = 0

以上是 在下拉菜单中设置默认值 的全部内容, 来源链接: utcz.com/qa/265855.html

回到顶部