2017-11-13 12 views
0

드롭 다운 목록에서 선택을 지우는 데 문제가 있습니다. 옵션 인구가 변경된 이후 드롭 다운 선택을 취소해야합니다. 새로운 옵션의 길이가 이전의 옵션의 길이보다 작은 경우, 선택 범위는 에러를주는 범위 외입니다.드롭 다운 선택 삭제 office-ui-fabric 반응 구성 요소

간단한 예 : (참조 : [https://developer.microsoft.com/en-us/fabric#Variants][1])

<Dropdown 
 
       selectedKey={ selectedItem && selectedItem.key } 
 
       onChanged={ item => this.setState({selectedItem: item}) } 
 
       options={ 
 
       [ 
 
        { key: 'A', text: 'Option a' }, 
 
        { key: 'B', text: 'Option b' }, 
 
       ] 
 
       } 
 
/>

내가 생각할 수있는 유일한 방법에 어쩌면 null로 selectedItem.key 설정 즉, selectedKey를 제어/정의되지 그것을 해결하지만 그 솔루션과 함께 행운을 얻지 못하고 ..

+0

같은 문제 ... 아직 해결책? –

+0

예 죄송합니다. 한 시간 정도 후에 답을 남깁니다. 키가 Null이고 옵션이 렌더링 전에 변경되었는지 확인하십시오. 내 문제는 내 믹스 및/또는 mobx에 대한 지식 부족과 어떻게 렌더링을 유발했는지입니다. –

답변

0

내가 가진 문제는 내가 내 옵션과 선택한 ID를 동시에 변경하지 않았다는 것이 었습니다. 과일이 관찰 배열 될 것이다

// ...async call .then((newFruits) => ... 
 
this.fruits = { 
 
    selectedId: null, 
 
    options: ['My','newly', 'fetched','fruits','array'] 
 
};

을 ... : 내가 한 일은 내가 개체와 각 드롭 다운을 연결이었다. 여기

<Dropdown 
 
    selectedKey={ fruits && fruits.selectedId } 
 
    onChanged={ this.myFuncThatCallsApiWithNewId } 
 
    options={fruits.options} 
 
/>