[Material UI] Select Field의 각 MenuItem에 사용자 지정 데이터 속성을 설정하는 방법
1526 단어 Reactmaterial-ui
이른바 data-* 를 설정하고 싶을 때의 방법입니다.
dataSet 설정
html로 설정하는 것처럼 세트.
render() {
return (
<div>
<SelectField
floatingLabelText="Frequency"
value={this.state.value}
onChange={this.handleChange}
>
<MenuItem value={1} primaryText="Never" data-v={example} />
<MenuItem value={2} primaryText="Every Night" data-v={example} />
<MenuItem value={3} primaryText="Weeknights" data-v={example} />
<MenuItem value={4} primaryText="Weekends" data-v={example} />
<MenuItem value={5} primaryText="Weekly" data-v={example} />
</SelectField>
</div>
);
}
dataSet 얻기
취득은 event 로부터 부모 요소를 추적해 가게 된다.
handleChange(event, index, value) {
const dataSet = event.target.parentElement.parentElement.parentElement.dataset.id != undefined ? event.target.parentElement.parentElement.parentElement.dataset : event.target.parentElement.parentElement.dataset;
console.log(dataSet.v)
}
event 로부터 dataSet 를 취득할 때의 주의점
option 부분에는 이와 같이 padding 가 설정되어 있어 padding 부분을 클릭되면 event 로 건네받는 요소가 1 위의 요소에 어긋난다.
Reference
이 문제에 관하여([Material UI] Select Field의 각 MenuItem에 사용자 지정 데이터 속성을 설정하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/t_enderman/items/4c926f236a62b4864d15텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)