@rdkmaster/jigsaw-labs
Version:
Jigsaw, the next generation component set for RDK
131 lines (130 loc) • 3.61 kB
TypeScript
import { EventEmitter } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import { AbstractJigsawComponent } from "../common";
import { ArrayCollection } from "../../core/data/array-collection";
/**
* 选择控件
* - 支持单选和多选,自动给出单选的对象和多选的数组
* - 支持静态数据,异步数据和数据回填
* - 支持控件不可用
* - 支持文本溢出显示省略号,鼠标移入有提示信息
* - 支持设置显示多少option,并自动产生滚动条
* - 支持Array、ArrayCollection、LocalPageableArray、PageableArray的检索
* - 支持设置下拉触发的方式
*
*/
export declare class JigsawSelect extends AbstractJigsawComponent implements ControlValueAccessor {
valid: boolean;
protected _width: string;
width: string;
private _minWidth;
/**
* 用于多选时设置最小宽度
* @returns {string}
*/
minWidth: string;
private _maxWidth;
/**
* 用于多选时设置最大宽度
* @returns {string}
*/
maxWidth: string;
/**
* 设置对象的标识
*/
trackItemBy: string | string[];
/**
* 设置数据的显示字段
* @type {string}
*/
labelField: string;
/**
* placeholder文本
*/
placeholder: string;
/**
* 不可用属性
* $demo = select/disabled
*/
disabled: boolean;
optionWidth: string;
optionHeight: string;
/**
* 显示的option个数,超出的会显示滚动条
* $demo = select/option-count
*/
optionCount: number;
/**
* 多选开关
* $demo = select/multiple
*/
multipleSelect: boolean;
/**
* 搜索开关
* $demo = select/searchable
*/
searchable: boolean;
/**
* 选择结果框的清除按钮的显示与隐藏
* $demo = select/clearable
*/
clearable: boolean;
/**
* 打开下拉的触发方式
* @type {string}
*
* $demo = select/trigger
*/
openTrigger: 'click' | 'mouseenter';
/**
* 关闭下拉的触发方式
* @type {string}
*
* $demo = select/trigger
*/
closeTrigger: 'click' | 'mouseleave';
private _data;
/**
* 提供选择的数据集合
* @returns {ArrayCollection<Object> | Object[]}
*/
data: ArrayCollection<object> | object[];
private _value;
/**
* 选择的结果,单选时单个的item对象,多选时是item对象的数组
* @returns {any}
*
* $demo = select/basic
* $demo = select/multiple
* $demo = select/async
*/
value: any;
/**
* 选择结果发生变化时,向外面发送事件
* @type {EventEmitter<any>}
*
* $demo = select/basic
*/
valueChange: EventEmitter<any>;
/**
* 在多选时,用户点击被选中条目的叉叉时发出此事件
*
* $demo = select/multiple
*/
remove: EventEmitter<any>;
private _listCmp;
/**
* @internal
*/
_$selectedItems: ArrayCollection<any> | any[];
_$handleSelectChange(selectedItems: any[]): void;
_$handleClearable(selectedItems: any[]): void;
_$onComboOpenChange(optionState: boolean): void;
_$onTagRemove(removedItem: any): void;
private _propagateChange;
writeValue(value: any): void;
registerOnChange(fn: any): void;
registerOnTouched(fn: any): void;
}
export declare class JigsawSelectModule {
}