UI-Grid gridOptions - > selectOptions作为变量不可能?

时间:2016-12-14 12:53:28

标签: angularjs angular-ui-grid angular-promise

我只是尝试使用此代码:

field: 'field1',
filter: {
    term: 1,
    condition: uiGridConstants.filter.STARTS_WITH,
    placeholder: 'starts with...',
    ariaLabel: 'Starts with filter for field1',
    flags: { caseSensitive: false },
    type: uiGridConstants.filter.SELECT,
    //selectOptions: [{ value: '1', label: 'male' }, { value: '2', label: 'female' }],
    selectOptions: [$scope.DropdownEntries],
    disableCancelFilterButton: false
}                  

从DropdownEntries返回的gridOptions selectOption数组为空,因为如果未设置gridOptions,则DropdownEntries()中的变量不可访问,它们来自Web服务,并且在设置gridOptions时加载它们需要更长时间。

是否有可能重新加载"在我确定所有变量都可访问之后的gridOptions?或者有其他方法来解决这个问题

  • 我是AngularJS和Ui-Grid的新手,感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

您可以使用空数组初始化selectOptions,并在数据可用时重新分配它们

请参阅this问题。

答案 1 :(得分:0)

然后你应该等待该承诺得到解决,然后设置selectOptions,如下所示:

$http.get(url).then(function(response) {
    gridOptions.filter.selectOptions = response.data.dropdownEntries;
})

另一种可能性是在进入设置ui-grid选项的控制器之前解决该承诺。 https://docs.angularjs.org/api/ngRoute/service/ $路线#示例