我们正在将现有的angular1项目移动到angular2,并希望替换现有的ui-select
组件。
我用Google搜索,但找不到angular2的ui-select
版本。
有没有人找到更好的选择?
答案 0 :(得分:2)
答案 1 :(得分:1)
ng2-select会做一些。但它还不支持动态数据绑定。
实际上,几乎没有为angular2实现任何针对angular实现的第三方插件。
答案 2 :(得分:0)
如果有人正在迁移到ng2并且需要运行混合应用程序(同时运行ng1和ng2 - 现在分别称为AngularJS和Angular),则可以包装非使用ng1组件创建的UI1 UI小部件(如ui-select )用于ng2组件模板。我们使用ui-select成功完成了这项工作,效果很好。特别是,请查看@Directive
注释绑定。
import {Directive, ElementRef, Injector, Input} from '@angular/core';
import {UpgradeComponent} from '@angular/upgrade/static';
import {module, IComponentOptions} from 'angular';
class UiSelectComponent implements IComponentOptions {
public bindings: any = {
items: '<',
model: '<',
modelProperty: '@',
placeholder: '@',
renderProperty: '@',
selectProperty: '@'
};
public template = `
<ui-select ng-model="$ctrl.model[$ctrl.modelProperty]" class="form-control input-sm" required>
<ui-select-match placeholder="{{$ctrl.placeholder}}">{{$select.selected[$ctrl.renderProperty]}}</ui-select-match>
<ui-select-choices repeat="item[$ctrl.selectProperty] as item in $ctrl.items | filter: $select.search">
{{item[$ctrl.renderProperty]}}
</ui-select-choices>
</ui-select>
`;
}
const selector = 'uiSelectWrapper';
export const UI_SELECT_COMPONENT = 'spinnaker.core.widget.uiSelect.component';
module(UI_SELECT_COMPONENT, []).component(selector, new UiSelectComponent());
@Directive({
selector: 'ui-select-wrapper'
})
export class UiSelectComponentDirective extends UpgradeComponent {
@Input()
public items: any[];
@Input()
public model: any;
@Input()
public modelProperty: string;
@Input()
public placeholder: string;
@Input()
public renderProperty: string;
@Input()
public selectProperty: string;
constructor(elementRef: ElementRef, injector: Injector) {
super(selector, elementRef, injector);
}
}
&#13;
答案 3 :(得分:0)
请检查ng-select。它具有单选,多选,搜索自动完成,标签,分组以及所有上述虚拟滚动的功能。我希望这会有所帮助。
答案 4 :(得分:-1)
对于专为Angular 2开发的组件,请参阅Angular 2的Kendo UI的DropDowns package。它仍处于测试阶段,欢迎提供反馈。
答案 5 :(得分:-1)