@duoduo-oba/ng-devui
Version:
DevUI components based on Angular
85 lines (84 loc) • 2.45 kB
TypeScript
import { ElementRef, EventEmitter, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';
import { Observable } from 'rxjs';
export declare class TagsInputComponent implements OnInit, OnDestroy, OnChanges {
/**
* 【必选】记录输入的标签
*/
tags: any[];
/**
* 【可选】使用的属性名
*/
displayProperty: string;
/**
* 【可选】输入的placeholder
*/
placeholder: string;
/**
* 【可选】输入标签的最小长度
*/
minLength: number;
/**
* 【可选】输入标签的最大长度
*/
maxLength: number;
/**
* 【可选】标签的最小个数
*/
minTags: number;
/**
* 【可选】标签的最大个数
*/
maxTags: number;
/**
* 【可选】输入框的spellcheck
*/
spellcheck: boolean;
/**
* 【可选】下拉选项
*/
suggestionList: any;
/**
* 是否按空格添加tag
*/
isAddBySpace: boolean;
/**
* 大小写敏感
*/
caseSensitivity: boolean;
checkBeforeAdd: (newTag: string) => boolean | Promise<boolean> | Observable<boolean>;
/**
* 输出函数,当选中某个选项项后,将会调用此函数,参数为当前选择项的值。如果需要获取所有选择状态的值,请参考(ngModelChange)方法
*/
valueChange: EventEmitter<any>;
tagInputElement: ElementRef;
selectBoxElement: ElementRef;
newTag: string;
showSuggestionList: boolean;
availableOptions: any[];
newTagValid: boolean;
isReduce: boolean;
searchFn: (term: string) => Observable<Array<{
id: string | number;
option: any;
}>>;
private sourceSubscription;
private KEYS;
selectIndex: number;
ngOnInit(): void;
ngOnChanges(changes: SimpleChanges): void;
registerFilterChange(): void;
reduceSuggestionList(): void;
host_click(): void;
input_keydown(event: any): void;
select(index: any): void;
input_focus(event: any): void;
input_blur(event: any): void;
addSuggestionByIndex(index: any, value: any): void;
removeTag(index: any): void;
tagIsValid(): boolean;
isEmptyString(tag: any): boolean;
addTag(): void;
canAdd(): Promise<boolean>;
onDocumentClick($event: Event): void;
ngOnDestroy(): void;
}