ng-selected 不起作用,但将选项修改为 selected="selected",使用 ng-repeat

Posted

技术标签:

【中文标题】ng-selected 不起作用,但将选项修改为 selected="selected",使用 ng-repeat【英文标题】:ng-selected does not work but modifies option as selected="selected", working with ng-repeat 【发布时间】:2019-09-21 21:02:29 【问题描述】:

我需要选择从我的数据库中获得的值。在 html 中检查,我看到 <option> 之一的值更改为:selected="selected" 但在选择中它并没有真正被选中。

这是我的代码:

<select chosen class="form-control" name="state" ng-model="product.state" ng-change="updateData()" placeholder-text-single="'Select one'" required >
    <option value="">Select one</option>
    <option ng-repeat='i in statesList' value="i.id" ng-selected="i.id == product.state.id">i.name</option>
</select>

我尝试将ng-model 的值更改为ng-model="product.state.id" 并且它可以工作,它保持选中状态,但是当然,以后不会保存数据。

statesList 是从 mongodb 数据库集合中检索到的对象数组。

我已经阅读了其他类似的问题,但我无法解决我的问题。我是角度方面的新手,对我来说有一些复杂的问题。有什么解决方案?我该如何解决?

【问题讨论】:

【参考方案1】:
 <select multiple ui-select2="allowClear: true" ng- 
 model="selectedCountries" data-placeholder="Countries">
 <option ng-repeat="country in countries" value="country.id"> 
 country.name</option>
 </select>
 <button ng-click="fetch()" class="btn btn-primary pull-right">Apply</button>

添加优先级的解决方案奏效了

【讨论】:

【参考方案2】:

在我的项目中,我使用 Reactive 表单处理了选择控件,你可以这样尝试

this.testForm = this.formBuilder.group(
      "testselectControl": []);

在html中

  <select id="test1" formControlName="testselectControl"
        class="form-control p-0 start-date-input-box ">
        <option *ngFor="let val of listValues" [value]="val.id">
          name.name</option>
      </select>

当你收到这样的数据集值时

 this.testForm .get("testselectControl").setValue(listValues ? (listValues.find((value) => (value.id.trim() ==selectedValueId) : "0");

【讨论】:

【参考方案3】:

不需要 ng-change 处理程序。 通过使用 ng-options 尝试以下方法。该模型将始终具有最新的选定值。

<select name="state" id="state"
  ng-options="option.name for option in statesList track by option.id"
  ng-model="product.state"></select>

【讨论】:

以上是关于ng-selected 不起作用,但将选项修改为 selected="selected",使用 ng-repeat的主要内容,如果未能解决你的问题,请参考以下文章

尽管列为可用格式,但将 ogg 转换为 wav 不起作用

ng-repeat与ng-selected

glTexImage2D 不起作用,但将 FragColor 设置为 vec4(1.0, 0, 0, 1.0) 会给我红色图像

从代码中修改文件权限不起作用

即使没有内容,如何强制 antd 选项卡全高(使用 React 和样式化组件)

ng-selected不更新下拉列表角度