无法在加载时将值绑定到ui-select

时间:2015-09-23 15:33:43

标签: angularjs ui-select

我的ui-select指令有以下html:

<div class="col-xs-12 col-sm-12 col-md-6">
    <div class="form-group">
        <label class="control-label small-font">Sample *</label>
        <ui-select ng-model="form.sample" theme="bootstrap" required>
            <ui-select-match placeholder="Pick one...">{{$select.selected.name}}</ui-select-match>
            <ui-select-choices repeat="sample in samples">
                {{ sample.name }}
            </ui-select-choices>
        </ui-select>
    </div>
</div>

这是我的阵列:

$scope.samples = [
    {
        name: 'Sample 1'
    },
    {
        name: 'Sample 2'
    }
];

我正在创建一个编辑表单,所有值都从服务器返回并加载到各自的字段中,但我无法显示ui-select值。

我知道还有其他这样的帖子,但我已经尝试了他们的&#34;解决方案&#34;无论如何,所有的天堂都帮助了我。

值在&#34; form.sample&#34;我希望它在加载数据时显示为所选项目。

1 个答案:

答案 0 :(得分:1)

你有没有尝试过:

$scope.samples = [
    {
    name: 'Sample 1'
},
{
    name: 'Sample 2'
}
];
$scope.sample = {};
$scope.sample.value = $scope.samples[0];

并从“form.sample”获取“形式”

<div class="col-xs-12 col-sm-12 col-md-6">
<div class="form-group">
    <label class="control-label small-font">Sample *</label>
    <ui-select ng-model="sample.value" theme="bootstrap" required>
        <ui-select-match placeholder="Pick one...">{{$select.selected.name}}</ui-select-match>
        <ui-select-choices repeat="itemSample in samples">
            {{ itemSample.name }}
        </ui-select-choices>
    </ui-select>
</div>

ui select指令将值应用于指定模型中的“select”子节点,因此如果传递form.sample,指令将查找子节点上的值,而不是form.sample中的值,这就是为什么必须将子属性传递给指令,很难看到