LoginSignup
3
1

More than 5 years have passed since last update.

Riotで複雑な<table>を構築する場合に

Posted at

Riot.jsで複雑なテーブルを作ろうとしたら、ハマったところがありました。

eachで回す

Riotには、タグにeach={item in items}のように書くことで、要素1つごとにそのタグを作る、という機能があります。

また、「1つの<dl>の中で、要素ごとに<dt><dd>のペアを作りたい」というような、要素ごとに1つのタグを繰り返すのではない場合も、<virtual each={...}>のような<virtual>タグを使うことで、複数タグをセットでループさせられます。

限られたタグしか入らない場所

ところが、そうは問屋がおろさない場所があります。それはテーブルの中で、<table>タグの中には決まった要素しか入れられないので、Riotのカスタムタグや<virtual>を置こうとしても、うまく動かなくなってしまいます。

とりあえずの解決策

<table>内で<virtual>がうまく回らないことはriotのissueにも投げられていましたが、そこでは<tbody>eachするという解決策が紹介されていました。<tbody>を複数書いていい、というのは知らなかったのですが、とりあえずはこれで動くようにはできました。

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1