0
ReactJS 기반 응용 프로그램에서 입력 키를 누르면 사용자가 단어를 입력하고 표시 할 수있는 재료 입력 구성 요소가 포함 된 구성 요소가 생성됩니다. 동일한 입력 구성 요소의 칩으로입력 키를 눌렀을 때 입력 값을 업데이트 할 때 문제가 발생했습니다.
첫 번째 단어를 쓰고 Enter 키를 누른 후 첫 번째 칩이 표시되지만 입력 ('')의 업데이트 된 상태가 고정되어 사용자가 새 단어를 입력 할 수 없다는 것이 문제입니다.
누구든지 이러한 문제를 해결하는 방법을 알고 있다면 매우 감사 할 것입니다.
import React from 'react';
import PropTypes from 'prop-types';
import Textfield from 'components/Textfield';
import Input from 'material-ui/Input';
import Chip from 'components/Chip';
class ChipInput extends React.Component {
constructor(props) {
super(props);
this.state = {
valuesEntered: [],
inputValue: undefined,
};
}
handleChange = (ev) => {
if (ev.key === 'Enter') {
const elements = this.state.valuesEntered;
elements.push(<Chip label={ev.target.value} onRequestDelete={() => {}} />);
this.setState({
valuesEntered: elements,
inputValue: '',
});
}
}
render =() => (
<Input
name='chipInput'
onKeyPress={this.handleChange}
value={this.state.inputValue}
startAdornment={
<span style={{ display: 'inline-block !important' }}>
{
this.state.valuesEntered
}
</span>
}
/>
);
}
export default ChipInput;
ChipInput.propTypes = {
defaultValues: PropTypes.array,
};