【vue.js】シンプルな方法でテーブルに行を追加する手順

【vue.js】シンプルな方法でテーブルに行を追加する手順

こんにちは。今回は、vue.jsについて初心者エンジニアに向けて、シンプルな方法でテーブルに行を追加する手順について解説します。

vue.jsでの基本的なテーブルコンポーネントの作成

まず最初に、vue.jsで基本的なテーブルコンポーネントを作成しましょう。以下のようなコードを table.vue というファイルに保存します。

<template>
  <div>
    <table>
      <thead>
        <tr>
          <th>name</th>
          <th>email</th>
          <th>age</th>
        </tr>
      </thead>
      <tbody>
        <tr v-for="(item, index) in items" :key="index">
          <td>{{ item.name }}</td>
          <td>{{ item.email }}</td>
          <td>{{ item.age }}</td>
        </tr>
      </tbody>
    </table>
  </div>
</template>

<script>
export default {
  data() {
    return {
      items: [
        { name: "john doe", email: "johndoe@example.com", age: 30 },
        { name: "jane smith", email: "janesmith@example.com", age: 25 },
      ],
    };
  },
};
</script>

このコードでは、items というデータ配列を用意し、テーブルの各行に対してループ処理を行っています。

テーブルデータの初期化と表示方法の設定

次に、テーブルデータの初期化と表示方法の設定を行います。

<template>
  <div>
    <table>
      <thead>
        <tr>
          <th>name</th>
          <th>email</th>
          <th>age</th>
        </tr>
      </thead>
      <tbody>
        <tr v-for="(item, index) in items" :key="index">
          <td>{{ item.name }}</td>
          <td>{{ item.email }}</td>
          <td>{{ item.age }}</td>
        </tr>
      </tbody>
    </table>

    <button @click="addrow">add row</button>
  </div>
</template>

<script>
export default {
  data() {
    return {
      items: [],
    };
  },
  mounted() {
    this.items = [
      { name: "john doe", email: "johndoe@example.com", age: 30 },
      { name: "jane smith", email: "janesmith@example.com", age: 25 },
    ];
  },
  methods: {
    addrow() {
      this.items.push({ name: "", email: "", age: "" });
    },
  },
};
</script>

このコードでは、mounted ライフサイクルフックを使用して、テーブルの初期データを設定しています。また、addrow メソッドを追加して、新しい行をテーブルに追加する処理を実装しています。

ボタンクリックイベントのリスナー登録と行追加処理の実装

次に、ボタンクリックイベントのリスナー登録と行追加処理の実装を行います。

<template>
  <div>
    <table>
      <thead>
        <tr>
          <th>name</th>
          <th>email</th>
          <th>age</th>
        </tr>
      </thead>
      <tbody>
        <tr v-for="(item, index) in items" :key="index">
          <td>{{ item.name }}</td>
          <td>{{ item.email }}</td>
          <td>{{ item.age }}</td>
        </tr>
      </tbody>
    </table>

    <button @click="addrow">add row</button>
  </div>
</template>

<script>
export default {
  data() {
    return {
      items: [],
    };
  },
  mounted() {
    this.items = [
      { name: "john doe", email: "johndoe@example.com", age: 30 },
      { name: "jane smith", email: "janesmith@example.com", age: 25 },
    ];
  },
  methods: {
    addrow() {
      this.items.push({ name: "", email: "", age: "" });
    },
  },
};
</script>

このコードでは、@click ディレクティブを使用して、ボタンクリック時に addrow メソッドが実行されるように設定しています。addrow メソッドでは、items 配列に新しいオブジェクトを追加することで、テーブルに行を追加しています。

データのバインディングと新しい行の表示方法

データのバインディングと新しい行の表示方法を設定してみましょう。

<template>
  <div>
    <table>
      <thead>
        <tr>
          <th>name</th>
          <th>email</th>
          <th>age</th>
        </tr>
      </thead>
      <tbody>
        <tr v-for="(item, index) in items" :key="index">
          <td><input v-model="item.name" /></td>
          <td><input v-model="item.email" /></td>
          <td><input v-model="item.age" /></td>
        </tr>
      </tbody>
    </table>

    <button @click="addrow">add row</button>
  </div>
</template>

<script>
export default {
  data() {
    return {
      items: [],
    };
  },
  mounted() {
    this.items = [
      { name: "john doe", email: "johndoe@example.com", age: 30 },
      { name: "jane smith", email: "janesmith@example.com", age: 25 },
    ];
  },
  methods: {
    addrow() {
      this.items.push({ name: "", email: "", age: "" });
    },
  },
};
</script>

このコードでは、各セルに input 要素を追加し、v-model ディレクティブを使用してデータのバインディングを行っています。これにより、テーブル内のデータを編集できるようになります。

シンプルなテーブル行追加の手順のまとめと応用例

ここまでの手順をまとめると、以下のようなフローとなります。

  1. テーブルコンポーネントを作成する。
  2. テーブルデータを初期化し、表示方法を設定する。
  3. 行追加のためのボタンクリックイベントのリスナーを登録し、行追加処理を実装する。
  4. データのバインディングを行い、新しい行の表示方法を設定する。

この手順を理解していれば、vue.jsでシンプルな方法でテーブルに行を追加することができます。

参考url

  1. vue.js 公式ドキュメント
  2. vue mastery

 

【Vue.js】関連のまとめ

【Vue.js】関連のまとめ
【vue.js】draggableコンポーネントの基本的な使い方と導入方法   【vue.js】ドラッグ可能なリストを作成するためのdraggableの活用方法   【vue.js】ドラッグアンドドロップの操作イベントとハンドリング方法  ...

 

オンラインスクールを講師として活用する!

【完全無料】使えるプログラミングスクール体験セミナー
【完全無料】使えるプログラミングスクール体験セミナー WEB制作の無料教材がここにきてどんどん増えてきてるので、使えるものをまとめようと思います。 TecAcademy(テックアカデミー) TechAcademyの無料体験 Samurai ...

 

0円でプログラミングを学ぶという選択

タイトルとURLをコピーしました