3

我正在尝试使用材料下拉选择,但出现此错误:

EXCEPTION: No provider found for DomPopupSourceFactory.

将 materialDirectives 添加到指令列表中,html 调用很简单:

<material-dropdown-select></material-dropdown-select>

我尝试了 angular_components_example 并且效果很好。问题出在我的项目上。我已经尝试清理 .packages 并执行了 pub get。没有任何效果。我尝试了一些其他的材料成分,它们奏效了。

4

2 回答 2

5

如果你添加materialProvidersAppComponent应该工作:

@Component(
  selector: 'my-app',
  directives: const <dynamic>[
    CORE_DIRECTIVES,
    materialDirectives,
  ],
  providers: const <dynamic>[
    materialProviders, // <<<<<<<<<<<<<<<<
  ],
)
class AppComponent {...}
于 2017-06-13T15:08:08.810 回答
2

它适用于 angular_components 示例,因为应用程序级组件包含必要的popupBindings提供程序。

如果您不包含materialProviders在您的应用程序中,您可以在您的组件中使用更具体的提供程序。

这是使用所需的最低样板material-dropdown-select

import 'package:angular/angular.dart';
import 'package:angular_components/laminate/popup/module.dart';
import 'package:angular_components/material_select/material_dropdown_select.dart';

@Component(
  selector: 'my-dropdown-select',
  directives: const [
    MaterialDropdownSelectComponent,
  ],
  providers: const [
    popupBindings,
  ],
)
class MyDropdownSelectComponent {}
于 2018-02-01T21:15:40.260 回答