Element Plusの表でラジオボタンの項目を複数グループ化する例

この記事を書いたチーム:frontier

 

はじめに

【エンジニア募集中】フルリモート可◎、売上/従業員数9年連続UP、平均残業8時間、有給取得率90%、年休124日以上 etc.  詳細はこちらから>

Vue.jsElement Plusで、ある表(el-tableタグ)のラジオボタン(el-radioタグ)の項目で、複数のグループに分けて表示させるという経験をしたため、その時の実装イメージを簡単な例でご紹介させていただきます。下図が具体例でして、No = 12のレコードがあるラジオボタンのグループ、No = 45のレコードが別のラジオボタンのグループとなり、複数のラジオボタンのグループが存在します。

 

実装方法について

下記は実装イメージのソースコードとなります。下記のような考えで実装しています。

  • ラジオボタン(selectedRadioButton)=”1”はラジオボタンが選択された状態となります。
  • ラジオボタングループ(groupId)が同じ値のレコードでラジオボタンがグループ化されます。変数groupSelectionsでラジオボタングループごとにどのレコードが選択された状態であるかを保持しています。
  • ラジオボタンを表示しない場合、ラジオボタングループ(groupId)をnullとしています。
  • editInitialDataメソッドでは、各レコードのselectedRadioButtonをチェックすることで初期表示時にどのラジオボタンを選択するか制御しています。
  • ラジオボタンの選択が変更されたときに、handleGroupSelectionsChangeメソッドでその状態を変数groupSelectionsに反映させています。

 

【エンジニア募集中】フルリモートも◎(リモート率85.7%)、平均残業8時間、年休124日以上、有給取得率90% etc. 詳細はこちらから>

Smallitのサービス