์๋ ๋ง์ค์ ์ฒ๋ฆฌ
ํ ์คํธ๊ฐ ๋์น ๋, ์๋์ผ๋ก ๋ง์ค์ ์ฒ๋ฆฌ๋ฅผ ํด์ค์ผํ ๋๊ฐ ์๋ค.
์ด๋ ํ ์คํธ๋ฅผ ์ถ์ฝํ๋ ๊ธฐ์ค์ผ๋ก๋ ํฌ๊ฒ ๋ ๊ฐ์ง๊ฐ ์๋ค.
- ๊ธ์์์ ๋ฐ๋ผ ์ถ์ฝ
- CSS ellipsis
๊ฐ๊ฐ์ ๋ฐฉ๋ฒ์ ์์๋ณด์!
๊ธ์์์ ๋ฐ๋ผ ์ถ์ฝ
ํ ์คํธ ๊ธ์ ์์ ๋ฐ๋ผ ์กฐ๊ฑด๋ถ ๋ ๋๋ง์ ํด์ฃผ๋ฉด ๋๋ค.
๊ทธ๋ฆฌ๊ณ ์๋ฆฐ ํ ์คํธ์ ๋ง์ฐ์ค๋ฅผ ์ฌ๋ฆฌ๋ฉด (hover ํ๋ฉด) ์ ์ฒด ํ ์คํธ๋ฅผ ๋ณผ ์ ์๋๋ก Tooltip์ผ๋ก ๋์์ค ์ ์๋ค.
์๋๋ name์ด 10์๋ฅผ ๋์ผ๋ฉด ์์์๋ถํฐ 10์๋ฅผ ๋ณด์ฌ์ฃผ๊ณ , ๋ท ๋ถ๋ถ์ '...'์ผ๋ก ์๋ผ์ ๋ณด์ฌ์ฃผ๋ ์ฝ๋ ์์์ด๋ค.
( ๋ฐ์ดํฐ๊ฐ ์์ ๋ '-' ๋ฅผ ์ถ๋ ฅํ๋๋ก ํ๋ ์กฐ๊ฑด๋ถ ๋ ๋๋ง๋ ํฌํจ๋์ด ์๋ค.)
cell: ({ row: { original } }) => {
return original.name ? (
original.name.length > 10 ? (
<div>
<Tooltip text={<span>{original.name.substring(0, 10) + '...'}</span>} toolTipText={original.name} />
</div>
) : (
<div>{original.name ?? '-'}</div>
)
) : (
<>-</>
);
},
๋๋น์ ๋ฐ๋ฅธ ์ถ์ฝ : CSS ์ ellipsis
๋ค์์ ๋๋น์ ๋ฐ๋ฅธ ์ถ์ฝ์ด๋ค.
์์ ์์ ํ ์คํธ๋ฅผ ๋ฃ๋๋ฐ, ๋์น๋ ํ ์คํธ๋ฅผ ์ฒ๋ฆฌํด์ฃผ๊ณ ์ถ์ ๋ ์ด ๋ฐฉ๋ฒ์ด ํจ๊ณผ์ ์ด๋ค.
๊ธ์์๋ก ์ฒ๋ฆฌํด์ฃผ๊ฒ ๋๋ฉด,
'ํ๊ธ', '์๋ฌธ ์๋ฌธ์', '์๋ฌธ ๋๋ฌธ์' ๊ฐ๊ฐ์ ๋๋น ์ฐจ์ด๊ฐ ๋ง์ด ๋์
ํ ์คํธ์ ๋นํด ์์ ๊ณต๊ฐ์ด ์ง๋์น๊ฒ ๋จ๊ฑฐ๋, ํ ์คํธ๊ฐ ๋์น๊ฒ ๋๋ ๋ฑ์ ๋ฌธ์ ๊ฐ ์๊ธธ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค.
๋๋น์ ๋ฐ๋ฅธ ์ถ์ฝ์ CSS์ ellipsis๋ฅผ ์ฌ์ฉํด์ฃผ๋ฉด ๋๋ค.
<div class="ellipsis-example">
This is a long text that needs to be truncated with ellipsis.
</div>
.ellipsis-example {
white-space: nowrap; /* ํ
์คํธ๊ฐ ํ ์ค์๋ง ํ์๋๋๋ก */
overflow: hidden; /* ๋์น๋ ๋ถ๋ถ ์จ๊ธฐ๊ธฐ */
text-overflow: ellipsis; /* ๋์น๋ ๋ถ๋ถ์ ... ํ์ */
width: 200px;
border: 1px solid #ccc;
padding: 5px;
}
white-space ์์ฑ์ ์ฌ์ฉํ์ฌ ํ ์คํธ๊ฐ ํ ์ค์๋ง ํ์๋๋๋ก ํ๊ณ ,
overflow ์์ฑ์ ์ฌ์ฉํ์ฌ ๋์น๋ ๋ถ๋ถ์ ์จ๊ธฐ๊ณ ,
text-overflow ์์ฑ์ ์ฌ์ฉํ์ฌ ๋์น๋ ๋ถ๋ถ์ ...์ ํ์ํ๋ค.