나는 반응 선택 'Creatable
을 사용하여 드롭 다운을 만들고 사용자가 목록에 새 항목을 만들 수있게합니다.React-Select Creatable을 사용하여 사용자가 중복 값을 생성하지 못하게하는 방법?
<Creatable
name="form-field-name"
value={this.props.selectWorker}
options={this.props.selectWorkers}
onChange={this.props.handleSelectWorker}
/>
현재 사용자는 아래 그림과 같은 중복을 생성, 이미 존재하더라도 새 이름을 만들 수 있습니다
이 내가 가진 것입니다.
나는 옵션이 react-select site에 isOptionUnique
라는이 있음을 보았다.
옵션 집합 내에서 일치하는 옵션을 검색합니다. 이 함수는 중복 옵션을 만들 수 없도록합니다. 기본적으로 은 라벨과 값을 대/소문자를 구분하여 비교하는 기본 구문입니다. 예상 서명 : ({옵션 : 개체, 옵션 : 배열, labelKey : 문자열, valueKey : 문자열}) : 나는 그것을 사용하지 못하고
부울. 나는 isOptionUnique=true
, isOptionUnique={options:this.props.workers}
을 시도했지만, Creatable.js:173 Uncaught TypeError: isOptionUnique is not a function
오류가 발생했습니다.
isOptionUnique
에 대한 예제를 찾을 수 없습니다. Creatable
을 사용하여 중복 방지를 위해 반응 선택을 필터링하는 가장 좋은 방법은 무엇입니까?
이 경우 민감한에 추가하는 것을 잊지 마세요 ? creatable ignoreCase 옵션이 작동하지 않는 것 같아서, 다른 케이스의 중복을 막을 수 있다면 궁금합니다. – zaplec
이것이 도움이되는지 확신 할 수 없지만 ignoreCase의 기본값은 'true'입니다. 결과 필터링시 대소 문자를 무시해야합니다. (그래서''true''는 디폴트로''TruE''와 동일합니다.) 또한 filterOption이 설정되어 있다면 그것은 ignoreCase를 무시할 것입니다. 적어도 github의 문서가 말하는 것입니다. https://github.com/JedWatson/react-select – Shanimal
오, 그래, 이건 분명히 대소 문자를 구분합니다. 비교가 완료되고 부울을 반환하므로 쉽게 수정할 수 있습니다. 그것은 아마 당신이 말한대로 할 것이며, Im은 단지 부작용이 없을 것이라고 추측합니다. – Shanimal