ng-options 会在点击时清除模型(和可见选项),这是什么情况?

ng-options clears the model (and visible options) on click, what in tarnation?

这是我的 ng-options 标记:

<div class="form-group">
    <label>Client(s)</label>
    <select class="form-control" ng-model="addFirm.firmData.clients" ng-options="clients.instance.id as clients.instance.fName for clients in addFirm.firmData.clients" multiple>
    </select>
</div>

这是结果 html:

<div class="form-group">
    <label>Client(s)</label>
    <select class="form-control ng-pristine ng-untouched ng-valid" ng-model="addFirm.firmData.clients" ng-options="clients.instance.id as clients.instance.fName for clients in addFirm.firmData.clients" multiple="" aria-invalid="false">
        <option label="Mike" value="string:567f82a9b6daa74f16547564">Mike</option>
        <option label="brian" value="string:567f83ac61b2fe4160fb4d4a">brian</option>
        <option label="Bill" value="string:567f8df461b2fe4160fb4d4b">Bill</option>
    </select>
</div>

一切看起来都不错,但是当我单击 select 菜单选择一个时,更不用说几个了,模型被清除,导致选项被完全清除。知道会发生什么吗?我没有恶意点击事件,其余的表单(包括大约 15 个其他标准文本字段)功能正常。

真正奇怪的是,如果我用 ng-repeat 做一个标准的 select 标签,我会得到 none 的废话。这很好用:

<select name="clients" id="clients" multiple>
    <option ng-repeat="clients in addFirm.firmData.clients" value="{{clients.instance.id}}">{{clients.instance.fName}}</option>
</select>

有什么想法吗?提前致谢!!!

您正在将 select 绑定到您用来存储数组项的同一模型

<select class="form-control" 
    ng-model="addFirm.firmData.clients" <!-- <-- addFirm.firmData.clients -->
    ng-options="clients.instance.id as clients.instance.fName for clients in addFirm.firmData.clients" multiple>
                                                       <!-- and here again --^ -->
</select>

看,addFirm.firmData.clients既在ngModel又在ngOptions?将 ngModel 绑定到其他东西,例如:

ng-model="addFirm.firmData.clientSelected"