Vueのv-forディレクティブを使用した選択オプションの生成


  1. 配列を使用した選択オプションの生成:

    <template>
    <select>
    <option v-for="option in options" :value="option">{{ option }}</option>
    </select>
    </template>
    <script>
    export default {
    data() {
    return {
      options: ['オプション1', 'オプション2', 'オプション3']
    }
    }
    }
    </script>

    上記のコードでは、配列options内の各要素を選択オプションとして生成しています。各オプションの値と表示テキストは同じですが、必要に応じて異なる値を使用することもできます。

  2. オブジェクトを使用した選択オプションの生成:

    <template>
    <select>
    <option v-for="option in options" :value="option.value">{{ option.label }}</option>
    </select>
    </template>
    <script>
    export default {
    data() {
    return {
      options: [
        { label: 'オプション1', value: 'option1' },
        { label: 'オプション2', value: 'option2' },
        { label: 'オプション3', value: 'option3' }
      ]
    }
    }
    }
    </script>

    上記の例では、オプションの表示テキストと値が異なる場合に役立ちます。各オプションはオブジェクトとして定義されており、labelプロパティが表示テキストを、valueプロパティが選択時の値を表しています。

  3. コンポーネントを使用した選択オプションの生成:

    <template>
    <select>
    <option v-for="option in options" :key="option.id" :value="option.value">{{ option.label }}</option>
    </select>
    </template>
    <script>
    import OptionComponent from './OptionComponent.vue';
    export default {
    components: {
    OptionComponent
    },
    data() {
    return {
      options: [
        { id: 1, label: 'オプション1', value: 'option1' },
        { id: 2, label: 'オプション2', value: 'option2' },
        { id: 3, label: 'オプション3', value: 'option3' }
      ]
    }
    }
    }
    </script>

    上記の例では、繰り返し要素をカスタムコンポーネントとして定義しています。OptionComponentは選択オプション1つ分の表示を担当し、options配列内の各オブジェクトに基づいて生成されます。

これらの例は、Vue.jsのv-forディレクティブを使用して動的な選択オプションを生成する方法を示しています。必要に応じて、他のデータソースや条件に基づいて選択オプションを生成することも可能です。