【问题标题】:Empty element in Angular ng-options (with and without grouping)Angular ng-options 中的空元素(有和没有分组)
【发布时间】:2014-11-21 11:06:41
【问题描述】:

我有一个(一个看似常见的)空选项值问题,一个使用 ng-options 的选择查看的角度模型。

$scope.groupTypeOptions = [
    { group: 'g1', name: '---', value: null }, 
    { group: 'g2', name: 'Feature', value: 'feature' }, 
    { group: 'g2', name: 'Bug', value: 'bug' }, 
    { group: 'g2', name: 'Enhancement', value: 'enhancement' }
];

<select ng-model='form.groupType' required ng-options='option.value as option.name group by option.group for option in groupTypeOptions'></select>

这里可以看到一个小提琴: http://jsfiddle.net/v6z3zh49/

我的目标是从一个预定义的模型中显示一个分组选择,其中选定的项目表示 null(或空字符串)。但是,在选择值时,我总是以添加额外的,空的选项元素结束。参见上面的小提琴。

我看过类似的问题,例如herehere,但找不到解决方案。

有什么建议吗?

【问题讨论】:

    标签: angularjs


    【解决方案1】:

    试试:

    $scope.groupTypeOptions = [
            { group: 'g1', name: '---', value: undefined }, 
        { group: 'g2', name: 'Feature', value: 'feature' }, 
        { group: 'g2', name: 'Bug', value: 'bug' }, 
        { group: 'g2', name: 'Enhancement', value: 'enhancement' }
        ];
    

    这是因为在 javascript null !== undefined.

    希望,它会有所帮助。

    演示:http://jsfiddle.net/ababashka/skk4uj1y/

    【讨论】:

    • 谢谢!这真的让我很烦,非常好的抓地力!附加问题:为什么“track by”表达式似乎不起作用?请参阅jsfiddle.net/ynb09mdb 处的更新示例@ 987654323@ 处的手册似乎表明“按组选择标签组以获取 trackexpr 数组跟踪中的值”语法应该有效?
    • @Victor:嗨,欢迎您回答我的回答)关于您关于track by 的另一个问题 - 问题是,您不能将value as label for collectiontrack by 结合使用。您可以在 8 月 8 日看到 github.com/angular/angular.js/issues/6564 的角度问题和来自 janv 的 cmets 中的解释。
    猜你喜欢
    • 1970-01-01
    • 2016-02-07
    • 2015-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多