在智能表中设置 UI-Select 默认值
我有一个基于 Angular 的 Web 项目,但遇到了问题。我正在将数据加载到智能表中。在智能表定义中,我有一个定义为 ui-select(下拉列表)的列。我的问题是当我加载行数据时。我无法让 ui-select 默认为从数据库返回的值。比如我的智能表定义如下:
第 1 列 第 2 列 第 3 列 第 4 列
R1C1 R1C2 R1C3 R1C4 – 值 1
R2C1 R2C2 R2C3 R1C4 – 值 4
R3C1 R3C2 R3C3 R1C4 – 值 2
R4C1 R4C2 R4C3 R1C4 – 值 1
我的数据检索从 Couchbase 数据库返回如下:
[
{
Datavalue1: C1,
Datavalue2: C2,
Datavalue1: C3,
Datavalue2: C4-id
},
{
Datavalue1: C1,
Datavalue2: C2
Datavalue1: C3,
Datavalue2: C4-id
},
{
Datavalue1: C1,
Datavalue2: C2
Datavalue1: C3,
Datavalue2: C4-id
},
{
Datavalue1: C1,
Datavalue2: C2
Datavalue1: C3,
Datavalue2: C4-id
}
]
我按如下方式加载表格
<tr ng-repeat='row in dG' st-select-row="row" style="white-space: nowrap" st-select-mode="multiple">
<td>{{ C1}}</td>
<td>{{ C2 }}</td>
<td> {{ C3}} </td>
<td>
<ui-select ng-model="row.data.filters.C4" theme="bootstrap" name="C4Col" style="width:400px">
<ui-select-match placeholder="Select C4"> {{ $select.selected.c4Name }}
</ui-select-match>
<ui-select-choices repeat="C4Array in C4Array | filter: $select.search"
style="position: relative;top: auto;left: auto; width: inherit">
<span ng-bind-html="C4Array.C4Name| highlight: $select.search"></span>
</ui-select-choices>
</ui-select>
</td>
在我尝试加载 C4 下拉列表时,我执行了以下操作:
- 使用 ui-option ng-selected = “C4”
- 使用 ui-option ng-selected = “row.data.filters.C4 = C4”
- 使用 ui-option ng-selected = “$select.selected.c4Name = C4Name”
- ui-select ng-model="row.data.filters.C4" theme="bootstrap" name="C4Col" style="width:400px" ng-selected = “C4”
- 将 dG 数组重建为包含 C4-id 和 C4Name 数据
- 使用重建 dG 数组作为尝试 1、2、3 的数据
- 在 ui-select ng-selected 中类似于尝试 1、2、3
上面的列表并不是所有尝试过的选项。我尝试了很多不同的选择,如果我知道我会遇到这么多困难,我会拯救它们。
我知道 ui-select 的 ng-model 必须先加载默认值,然后下拉菜单才会显示该值。我的问题围绕着如何为智能表中的每一行设置 ng-model。
对于解决此问题的任何帮助,我将不胜感激。