【发布时间】:2017-11-11 00:22:24
【问题描述】:
我在 Angular 2 项目中有一个下拉菜单:
<div class="form-group">
<label for="vendors">Vendors</label>
<select class="form-control" id="vendor_id" name="vendor_id" [(ngModel)]="selectedVendor" (ngModelChange)="onVendorChange($event)" required>
<option *ngFor=" let vendor of vendors " [ngValue]="vendor"> {{vendor.business_name}} </option>
</select>
</div>
这在 Chrome 中运行良好,但是当我在 Safari 中打开它时,当页面加载时,即使我没有选择任何内容,它也会显示第一个项目为选中状态。但是,如果我点击“提交”,它将显示“此字段为必填项”。
在 Safari 中,它显示第一个项目已被选中,但实际上它并未被选中。如何解决这个问题?
【问题讨论】:
-
我在 Angular 4 中也有这个问题,同样,仅在 Safari 中。你有没有找到解决办法?
-
我保留了一个默认选项(如占位符,value=undefined)
-
@simon 你找到不使用默认选项的解决方案了吗?
-
@crooksey -- 没有朋友,还没有;还没有机会好好看看。但是,如果没有更好的办法,您下面的解决方案看起来是一个可靠的选择。赞成。
-
@simon 谢谢,这是 safari 的继承问题,与角度无关。