1

这是这个问题的轻微延续。

我正在使用 ng-grids 新版本ui-grid,并且遇到了可编辑单元模板的问题。我正在使用模板显示使用 ng-options 进行编辑的动态下拉列表。这很好用,但是单元格似乎卡在了编辑模式中。我之前在与旧版本的 ng-grid 相关的堆栈溢出中看到过这个问题。(喜欢这篇文章)

这些解决方案通常最终会指出他们忘记ng-input="COL_FIELD"在他们的选择中使用。

我已经尝试过这样的方法,但它似乎不适用于 ui-grid。也许是因为我正在使用 ng-options 而其他示例没有?这是网格中的下拉列表。请注意,如果您失去焦点,单元格仍处于编辑模式。

有没有人遇到过 ui-grid 的这个问题并克服了它?如果是这样,任何帮助将不胜感激。

4

2 回答 2

1

ui-grid-edit-dropdown替换ng-cell-input

这是Plunker

顺便说一句,这是默认模板

<div>
  <form name="inputForm">
    <select ng-class="'colt' + col.uid" ui-grid-edit-dropdown ng-model="MODEL_COL_FIELD" ng-options="field[editDropdownIdLabel] as field[editDropdownValueLabel] CUSTOM_FILTERS for field in editDropdownOptionsArray"></select>
  </form>
</div>

如果没有原因,可能不需要自定义模板,请查看本教程

于 2014-10-22T10:01:26.727 回答
1

这是@allyusd 对答案的一些更新,这通常是正确的,但是在您模糊单元格后,plunker 无法正常工作。

将模板更改为:

<div>
    <select ui-grid-edit-dropdown ng-class="'colt' + $index" ng-model="MODEL_COL_FIELD" data-ng-options="d.type as d.type for d in getExternalScopes().genderTypes">
        <option value="" selected disabled>Choose Gender</option>
    </select>
</div>

尤其是部分data-ng-options="d.type as d.type...

这只会将类型传递给您的模型。

在此处查看(略微)分叉的Plunker。(请注意,我在网格之后再次添加了一些调试信息)

不要把这当成一个答案。这只是对 allyusds 答案的轻微修正。

于 2014-10-22T14:25:32.483 回答