import { Component, createRef, ReactNode } from "react"; import { Icon } from "@fluentui/react"; import { ComboList, IDisplayItem } from "@Input/ComboList/ComboList"; import { TextField, ITextFieldProps } from "@Input/TextField/TextField"; import { Localization } from "@Component/Localization/Localization"; import "./ComboInput.scss"; interface IComboInputProps extends ITextFieldProps { allOption?: IDisplayItem[]; value?: IDisplayItem; valueChange?: (value: IDisplayItem) => any; } interface IComboInputState { isPickerVisible: boolean; } class ComboInput extends Component { public constructor(props: IComboInputProps) { super(props); this.state = { isPickerVisible: false } } private pickerTarget = createRef(); private renderPicker() { return { if (this.props.valueChange) { this.props.valueChange(item); } this.setState({ isPickerVisible: false }) })} dismiss={() => { this.setState({ isPickerVisible: false }) }} /> } public render(): ReactNode { return <> { this.setState({ isPickerVisible: true }) }} >
{ this.props.value ? : }
{this.state.isPickerVisible ? this.renderPicker(): null} } } export { ComboInput, IDisplayItem };