2017-09-08 4 views
0

선택 목록에 중복 옵션을 숨기려고합니다. 내 말은이 example을 참조하십시오. 지금은 복제 된 옵션 중 하나만 선택할 수 있지만 여전히 표시됩니다.중복 반응 선택 옵션 숨기기

나는 CSS를 사용하여 이들을 숨기려고했습니다.

데이터 :

const ERRORS = [ 
 
    { 
 
     id: 1, 
 
     customer: "Testcompany 1", 
 
     sender: "Lars Olsen", 
 
     title: "Conference Papers", 
 
     body: "I don't know how this works...", 
 
     predicted: 22, real: 34, 
 

 
    }, 
 
    { 
 
     id: 2, 
 
     customer: "Testcompany 1", 
 
     sender: "Stine Nilsen", 
 
     title: "Expense Reports", 
 
     body: "I need some help with the expense reports...", 
 
     predicted: 13, real: 31, 
 
    }, 
 
    { 
 
     id: 3, 
 
     customer: "Testcompany 1", 
 
     sender: "Steinar Trolo", 
 
     title: "Server Fail", 
 
     body: "My server is failing. Please help.", 
 
     predicted: 13, real: 31, 
 
    }, 
 
    { 
 
     id: 4, 
 
     customer: "Testcompany 1", 
 
     sender: "Steinar Trolo", 
 
     title: "Server Fail", 
 
     body: "My server is failing. Please help.", 
 
     predicted: 13, real: 31, 
 
     label: "Second" 
 
    }, 
 
    { 
 
     id: 5, 
 
     customer: "Testcompany 2", 
 
     sender: "Steinar Trolo", 
 
     title: "Server Fail", 
 
     body: "My server is failing. Please help.", 
 
     predicted: 13, real: 31, 
 
    } 
 
]

구성 요소 선택 :

<Select 
 
    options={ERRORS} 
 
    value={this.state.selectValue} 
 
    onChange={this.updateValue.bind(this)} 
 
    searchable 
 
    labelKey="customer" 
 
    valueKey="customer" 
 
/>

답변

0

는 별개의 고객에게 제공하려는 경우, Suppl에 같은 Lodash와 같은 별개의 고객 나중에 목록 :

options={_.uniqBy(ERRORS, (e) -> (e.customer))}

가 혼동을 방지하기 위해, 아마 아무 중복 고객과 임의 개체의 목록을 제공하지 것이 바람직 할 것이고, 단지의 목록을 제공 뚜렷한 고객.

+0

가 I이 사용 세트를 시도 : ERRORS.map ((오차) => { customerArr.push (error.customer) senderArr.push (error.sender) titleArr.push (error.title) ; }}); let uniqueCust = [... new Set (customerArr)]; 옵션에는 레이블과 값이 있어야하므로이 고유 한 배열을 아직 사용하는 방법을 찾지 못했습니다. – markusjs