我有一个输入字段和一个ng-select彼此相邻。两者都支持相同的数据。由于select中有大量项目,如果我知道所需的值,我可以使用输入字段。
但是当我更改输入字段的值时,ng-select不会更改,直到我更新数据库中的数据并再次检索数据。
当我更改ng-select中的值时,输入字段中的值会立即更改。
有没有办法可以让ng-select跟踪对底层模型的更改并做出响应?
这是我的代码:
<div class="p0r2 textAlignCenter verticalAlignTop">
<textarea class="h1r5 pl0r3 lh1r5 resizeNone w2r"
ng-change="phs.phrasesStatus = Status.Dirty; row.statusId = Status.Dirty"
ng-model="row.categoryId"
maxlength="3" size="3"
ng-required="true"></textarea>
</div>
<div class="p0r2 textAlignCenter verticalAlignTop"
ng-if="!phs.show">
<select class="select"
convert-to-number
ng-change="phs.phrasesStatus = Status.Dirty; row.statusId = Status.Dirty"
ng-options="option.id as option.name for option in phs.phraseCategory.data"
ng-model="row.categoryId"></select>
</div>
以下是使用Typescript的数据类型:
interface IEnumServiceGetData {
data: IMapIdName[];
dataPlus: IMapIdName[];
dataMap: {};
dataMapPlus: {};
name: any;
}
interface IMapIdName {
id: number; name: string
}
答案 0 :(得分:1)
您可能正在使用id的数字版本。当您在输入中选择一个值时,它将被存储为字符串。如果select id是数字,则不匹配。使用字符串版本选择id,如下所示:
$scope.options = [{id:"1", name:"A"},{id:"2", name:"b"},{id:"3", name:"c"}]