我只是尝试使用此代码:
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?或者有其他方法来解决这个问题
答案 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/ $路线#示例