Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 아타미
- typescript
- 페이페이
- local
- 메르페이
- 프라하
- 미츠이 스미토모
- vba
- 熱海
- JenkinsFile
- pyenv
- Selenium
- 카마츠루
- 방콕
- 뮌헨
- javascript
- PostgreSQL
- Python
- terraform
- PayPay
- 태국
- documentdb
- duckdb
- 釜つる
- codebuild
- 三井住友カード
- node.js
- react.js
- 체코
- CSV
Archives
- Today
- Total
도쿄사는 외노자
assign으로 json data에 html태그 집어넣기 본문
아래와 같은 데이터를 가지고, 그 내용을 그대로 출력하는 테이블 컴포넌트가 있다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | const sampleData = { ... , rows: [ { id: '1', name: 'Frozen yogurt', jname: 'フローズンヨーグルト', }, { id: '2', name: 'Ice cream sandwich', jname: 'アイスクリームサンドイッチ', }, { id: '3', name: 'Eclair', jname: 'エクレア', }, ... ] }; export default sampleData; | cs |
jname 칼럼 안에 버튼을 달고 싶은데, 테이블 컴포넌트나 원본 데이터의 소스는 건드릴 수 없다.
테이블은 독립된 부품이라 view에서 뭘 어떻게 건든다거나 하는 것은 다 불가능하고,
그저 데이터와 펑션를 넘기는 것만이 가능하다.
고로 받아온 데이터가 버튼을 뱉어내도록 어찌어찌 조작해서 테이블에 넘겨야 한다.
아래와 같이 assign을 이용하면 되긴 된다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | render() { const arr = []; if (SampleData.rows && SampleData.rows.length > 0) { SampleData.rows.forEach((row) => { assign(row, { jname: ( <Row value={row.jname}> <Col xs={7}>{row.jname}</Col> <Col className=""> <FAButton primary={true} label={'Click Here'} onClick={this.handleDsplyBtn(row.jname)} /> </Col> </Row> ) }); arr.push(row); }); } assign(SampleData.rows, arr); return ( <Frame showNav={true}> <div style={{ paddingTop: 20 }}> <SimpleTable data={SampleData} , ... /> </div> </Frame> ); } | cs |
이렇게 화면에서 assign으로 버튼을 꼴아박아버릴 수 있다.
어차피 수정삭제는 편집화면에 id만 넘겨서 재검색하니까,
화면표시용 칼럼 정도는 괜찮겠지라는 생각으로 해버린 짓인데...
역시 부품을 제대로 만드는 것이 더 나을 것 같아서 다 지워버리고 블로그에만 살짝 남겨둔다.
'Tech > React.js' 카테고리의 다른 글
화면 사이즈에 따른 스타일 변경 플래그 (0) | 2021.04.14 |
---|---|
react-router Link Tag에서의 disabled 적용 (0) | 2017.10.20 |
Key-Break (0) | 2017.04.27 |
사이드바를 통한 패널 이동 구현 (jQuery 사용) (0) | 2017.03.03 |
사이드바를 통한 패널 이동 구현 (0) | 2017.02.17 |