Angular2 [selected]无法设置默认值?

时间:2017-06-16 08:34:29

标签: angular select binding

我试图为我的选择设置默认值,所以我尝试了

[selected]= "selected_choice == 'one'"

类似这样的事情

但这没有用。

人们说[已选择]不再有效,所以我也试过[attr.selected],但也没有工作......

这是我的一个选择标记的完整代码

  <select (change)="passValue3()" formControlName="school" class="form-control" required [(ngModel)]="selected_student" class="selectionbox">
    <option *ngIf="selected_student == undefined">학년 선택</option>
    <option *ngFor="let gradetype of gradeTypes" [ngValue]="gradetype" [attr.selected] = "gradetype.gradeType === 'Middle'">{{gradetype.gradeName}}</option>
</select>

如何设置选择的默认选项?

4 个答案:

答案 0 :(得分:8)

  

你需要做这样的事情:

标记:

<select placeholder="Sample select" [(ngModel)]="selectedItem">
                    <option [value]="'all'">View All</option>
                    <option [value]="'item-1'">Item-1</option>
                    <option [value]="'item-2'">Item-2</option>
                </select>

在组件中

  selectedItem='all'

答案 1 :(得分:3)

您比较选项以compareWith属性选择,如果您使用的是角度4,则可能无法使用角度2。

HTML文件:

<select [compareWith]="byAnimal" [(ngModel)]="selectedAnimal">  
  <option *ngFor="let animal of animals" [ngValue]="animal">
    {{animal.type}}
  </option>
</select>

TS文件

byAnimal(item1,item2){
  return item1.type == item2.type;
}

link

的最佳解决方案之一

答案 2 :(得分:0)

这是我的解决方案:

示例是关于时区的。从后端我得到了下一个对象项目:

from pyspark.sql.functions import when, col

condition = col("id") == col("match")
result = df.withColumn("match_name", when(condition, col("name"))

result.show()

id name match match_name
1  a    3     null
2  b    2     b
3  c    5     null
4  d    4     d
5  e    1     null

我的模型中的相同项目看起来有点不同,因为源是变化的:

activeItem = { "timezone": { "timeZoneHolder": "Europe", "region": "Europe/Paris (CEST)", "UTC": "UTC+1"  }}

你看到的有点不同。

所以这是我的模特:

{ "timeZoneHolder": "France", "region": "Europe/Paris", "UTC": "UTC +01:00" }

这是选择的标记,就像魅力一样:

timeZones = [{ "timeZoneHolder": "France", "region": "Europe/Paris", "UTC": "UTC +01:00" }, { "timeZoneHolder": "French Polynesia", "region": "Pacific/Gambier", "UTC": "UTC -09:00" }]

享受:)

答案 3 :(得分:-1)

它不起作用,因为您的选择应该具有[(ngModel)]属性。

你只需要将这个值设置为你想要选择的值,你应该是好的。