我有网格ui,其中单元格是角材料
md-autocomplete
.
我写了demo:codepen,我运行(仅用于模拟)ng-repeat并尝试每行选择不同的值.
但是,每当我更改一个项目时,所有其他行也会发生变化.我究竟做错了什么?
我的HTML:
<tr layout="row" ng-repeat="item in ctrl.items" flex> <td class="sc_color" flex>{{$index+1}}.color</td> <td flex> <md-autocomplete style="margin-bottom:10px;" md-selected-item="item.selectedItem" md-search-text="ctrl.searchText" md-items="item in ctrl.querySearch(ctrl.searchText)" md-item-text="item.display" md-min-length="0" placeholder="Pick a color"> <md-item-template> <span md-highlight-text="ctrl.searchText" md-highlight-flags="^i">{{item.display}}</span> </md-item-template> </md-autocomplete> </td> </tr>
我的物品:
self.items = [ { selectedItem: 'aa' },{ selectedItem: 'bbb' } ];
我使用md-selected-item但听起来像所有项目一样.
解决方法
这只是因为所有字段都链接到同一个变量:ctrl.searchtext.
只需要改变这个:
md-search-text="ctrl.searchText" md-items="item in ctrl.querySearch(ctrl.searchText)"
这样 :
md-search-text="ctrl['searchText' + $index]" md-items="item in ctrl.querySearch(ctrl['searchText' + $index])"