【问题标题】:select with ng-options, how to initialize with a field already selected使用 ng-options 选择,如何使用已选择的字段进行初始化
【发布时间】:2016-12-24 08:03:06
【问题描述】:

我有这个代码:
视图:

<select 
        ng-model="filterList" 
        ng-options="data.name for data in filter_options">
</select>

控制器:

$scope.filter_options = [
        {id: 1, name: 'User'},
        {id: 2, name: 'Option 2'},
        {id: 3, name: 'Option 3'}
];

当我第一次进入控制器时,选择中什么都没有,用户必须选择一些东西。
我试图通过

$scope.filterList = {id: 1, name: 'User'};

但选择字段仍为空。

我希望在我进入控制器时已经选择了“用户”选项。这样可以吗?

【问题讨论】:

    标签: javascript angularjs select ng-options angularjs-ng-options


    【解决方案1】:

    您可以在这种情况下使用track by,它会根据data.id 跟踪更改。

    <select ng-model="filterList" 
       ng-options="data.name for data in filter_options track by data.id">
    </select>
    

    注意:track byselect as 一起使用会造成伤害

    Demo Plunkr


    另一种方式是你可以选择你可以做的

    $scope.filterList = $scope.filter_options[0];
    

    【讨论】:

    • 这很好用!非常感谢您的快速答复
    • @MattiaPettenuzzo 没问题,很高兴听到它对你有帮助,谢谢 :)
    猜你喜欢
    • 1970-01-01
    • 2012-10-14
    • 1970-01-01
    • 2017-12-31
    • 2013-09-09
    • 1970-01-01
    • 2015-03-22
    • 2016-07-02
    相关资源
    最近更新 更多