-
配列を使用した選択オプションの生成:
<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
内の各要素を選択オプションとして生成しています。各オプションの値と表示テキストは同じですが、必要に応じて異なる値を使用することもできます。 -
オブジェクトを使用した選択オプションの生成:
<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
プロパティが選択時の値を表しています。 -
コンポーネントを使用した選択オプションの生成:
<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ディレクティブを使用して動的な選択オプションを生成する方法を示しています。必要に応じて、他のデータソースや条件に基づいて選択オプションを生成することも可能です。