66 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			TypeScript
		
	
	
			
		
		
	
	
			66 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			TypeScript
		
	
	
| import PropTypes, { withUndefined } from '../_util/vue-types';
 | |
| import { SelectProps } from '../select';
 | |
| import { tuple } from '../_util/type';
 | |
| 
 | |
| export const TreeData = PropTypes.shape({
 | |
|   key: PropTypes.string,
 | |
|   value: PropTypes.string,
 | |
|   label: PropTypes.VNodeChild,
 | |
|   slots: PropTypes.object,
 | |
|   children: PropTypes.array,
 | |
| }).loose;
 | |
| 
 | |
| export const TreeSelectProps = () => ({
 | |
|   ...SelectProps(),
 | |
|   autofocus: PropTypes.looseBool,
 | |
|   dropdownStyle: PropTypes.object,
 | |
|   filterTreeNode: withUndefined(PropTypes.oneOfType([Function, Boolean])),
 | |
|   getPopupContainer: PropTypes.func,
 | |
|   labelInValue: PropTypes.looseBool,
 | |
|   loadData: PropTypes.func,
 | |
|   maxTagCount: PropTypes.number,
 | |
|   maxTagPlaceholder: PropTypes.VNodeChild,
 | |
|   value: PropTypes.oneOfType([
 | |
|     PropTypes.string,
 | |
|     PropTypes.object,
 | |
|     PropTypes.array,
 | |
|     PropTypes.number,
 | |
|   ]),
 | |
|   defaultValue: PropTypes.oneOfType([
 | |
|     PropTypes.string,
 | |
|     PropTypes.object,
 | |
|     PropTypes.array,
 | |
|     PropTypes.number,
 | |
|   ]),
 | |
|   multiple: PropTypes.looseBool,
 | |
|   notFoundContent: PropTypes.VNodeChild,
 | |
|   searchPlaceholder: PropTypes.string,
 | |
|   searchValue: PropTypes.string,
 | |
|   showCheckedStrategy: PropTypes.oneOf(tuple('SHOW_ALL', 'SHOW_PARENT', 'SHOW_CHILD')),
 | |
|   suffixIcon: PropTypes.VNodeChild,
 | |
|   treeCheckable: PropTypes.looseBool,
 | |
|   treeCheckStrictly: PropTypes.looseBool,
 | |
|   treeData: PropTypes.arrayOf(Object),
 | |
|   treeDataSimpleMode: withUndefined(PropTypes.oneOfType([PropTypes.looseBool, Object])),
 | |
| 
 | |
|   dropdownClassName: PropTypes.string,
 | |
|   dropdownMatchSelectWidth: PropTypes.looseBool,
 | |
|   treeDefaultExpandAll: PropTypes.looseBool,
 | |
|   treeExpandedKeys: PropTypes.array,
 | |
|   treeIcon: PropTypes.looseBool,
 | |
|   treeDefaultExpandedKeys: PropTypes.array,
 | |
|   treeNodeFilterProp: PropTypes.string,
 | |
|   treeNodeLabelProp: PropTypes.string,
 | |
|   replaceFields: PropTypes.object.def({}),
 | |
|   clearIcon: PropTypes.VNodeChild,
 | |
|   removeIcon: PropTypes.VNodeChild,
 | |
| 
 | |
|   onSelect: PropTypes.func,
 | |
|   onChange: PropTypes.func,
 | |
|   onSearch: PropTypes.func,
 | |
|   onTreeExpand: PropTypes.func,
 | |
|   'onUpdate:treeExpandedKeys': PropTypes.func,
 | |
|   'onUpdate:searchValue': PropTypes.func,
 | |
|   'onUpdate:value': PropTypes.func,
 | |
| });
 |