【问题标题】:md-autocomplete generating the same model in ng-repeatmd-autocomplete 在 ng-repeat 中生成相同的模型
【发布时间】:2017-08-07 17:44:54
【问题描述】:

md-autocomplete 在 ng-repeat 中生成相同的模型 如果一个变化的值也反映在其他领域, 如何添加不同的 ng 模型?

<tr ng-repeat="school in ctrl.schools" ng-if="ctrl.editAcademyToggle">
<td>
<md-input-container>
<div class="mdInputContainer">
    <md-autocomplete flex required flex-gt-sm="25"
        md-autofocus="true"
        md-selected-item="school.college_name"
        md-clear-button="false"
        md-input-name="school.college"
        md-input-minlength="3"
        md-no-cache="false"
        md-search-text="ctrl.academySearchStr"
        md-items="item in ctrl.searchAcademySchools(ctrl.academySearchStr)"     
        md-item-text="item.name">
        <md-item-template>
            <span class="item-title">
                <span> {{item.name}}, {{item.city}}, {{item.state}}, {{item.zip}}</span>
            </span>
        </md-item-template>
        <md-not-found>
            <span ng-if="ctrl.academySearchStr.length < 3">Minimum 3 Charaters</span>
            <span ng-if="ctrl.academySearchStr.length >= 3">
              Wait a few more seconds before searching again"
            </span>
        </md-not-found>
        <div ng-messages="ctrl.leadEntryForm.school.college.$error">
            <div ng-message="required">This field is required</div>
        </div>
    </md-autocomplete>
</div>
</md-input-container>
</td>
</tr>

所有行的生成模型都是这样的:

ng-model="$mdAutocompleteCtrl.scope.searchText"

【问题讨论】:

  • 这个ctrl.academySearchStr 看起来与md-search-text 中的所有重复项相同。是吗?
  • 这真的很重要吗,无论如何我们可以看到你在md-selected-item="school.college_name"中绑定的变量中的输出,所以在javascript中,我们可以看到选择的值将出​​现在$scope.school.college_name中跨度>

标签: angularjs md-autocomplete


【解决方案1】:

将您的 schools 视为数组。

您可以映射它,为搜索文本添加一个变量,而不是在任何地方使用相同的搜索文本,像这样

schools.map(function(obj){
    obj.searchText = null;
});

并在此处传递此搜索文本

md-search-text="school.searchText"

【讨论】:

    猜你喜欢
    • 2016-09-26
    • 2016-07-05
    • 1970-01-01
    • 1970-01-01
    • 2017-06-15
    • 2017-10-09
    • 2017-01-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多