无法使用 ng-options 删除空白选项

unable to remove blank option with ng-options

我对 ng-options 有疑问。 我无法摆脱我的 ng-options select.

中的空白选项

我有 2 个 select 对象,都带有 ng-options。第二个select显示的选项是基于第一个的。当我更改第一个 select 的选项时,第二个最初显示一个空白选项。

我尝试了几种解决方案,但无法修复它。

我的对象:

$scope.mySpecs = {  
    "1": {
        "name": "Name 1",
        "options": {
            "1": "option 1",
            "2": "option 2",
            "3": "option 3"
        }
    },
    "5": {
        "name": "Name 5",
        "options": {
            "6": "option 6",
            "7": "option 7",
            "8": "option 8"
        }
    }
};

和我的两个 select:

<select ng-model="selectedSpecs.name" ng-options="k as v.name for (k, v) in mySpecs" ng-change="setVals()">
    </select>

    <select ng-model="selectedSpecs.option" ng-options="k as v for (k, v) in mySpecs[selectedSpecs.name].options"></select> 

这是一个fiddle:

https://jsfiddle.net/byvpx7mn/3/

感谢您的帮助!

你可以做一件事使用 Object.keys 并选择第 0 个键。

$scope.selectedSpecs.name = Object.keys($scope.mySpecs)[0];

如果您不想在第二个 select 中为 null,请将第一个选项设置为错误。

<option value="" ng-if="false"></option>

Fiddle