import { Component } from 'react'; import { BaseTrigger, ICascaderBaseTriggerProps } from './BaseTrigger'; import { ICascaderItem } from '../types'; import { getPathLabel } from '../path-fns'; import { SearchInput } from './Search'; export interface ISingleTriggerProps extends Omit { selectedPath: ICascaderItem[]; } export class SingleTrigger extends Component { static defaultProps = { selectedPath: [], }; onKeywordChange: React.ChangeEventHandler = e => { this.props.onKeywordChange(e.target.value); }; render() { const { className, visible, clearable, selectedPath, keyword, disabled, i18n, searchable, placeholder, onClick, onClear, onKeywordChange, renderValue, } = this.props; const showSearch = visible && searchable; const hasValue = selectedPath.length > 0; const inputPlaceholder = hasValue ? getPathLabel(selectedPath) : i18n.searchPlaceholder; const selectedPaths = hasValue ? [selectedPath] : []; return ( {showSearch && ( )} ); } }