InputNumber

InputNumber は数値入力を提供する入力コンポーネントです。


import InputNumber from 'primevue/inputnumber';

InputNumber は、v-model プロパティを持つ制御された入力として使用されます。


<InputNumber v-model="value1" inputId="integeronly" fluid />
<InputNumber v-model="value2" inputId="withoutgrouping" :useGrouping="false" fluid />
<InputNumber v-model="value3" inputId="minmaxfraction" :minFractionDigits="2" :maxFractionDigits="5" fluid />
<InputNumber v-model="value4" inputId="minmax" :min="0" :max="100" fluid />

グループ化や小数点の記号などのローカライズ情報は、デフォルトでユーザーのロケールに設定される locale プロパティで定義されます。


<InputNumber v-model="value1" inputId="locale-user" :minFractionDigits="2" fluid />
<InputNumber v-model="value2" inputId="locale-us" locale="en-US" :minFractionDigits="2" fluid />
<InputNumber v-model="value3" inputId="locale-german" locale="de-DE" :minFractionDigits="2" fluid />
<InputNumber v-model="value4" inputId="locale-indian" locale="en-IN" :minFractionDigits="2" fluid />

通貨値は、mode プロパティを currency として設定することで有効になります。この設定では、currency プロパティも、米ドルを表す "USD" のような ISO 4217 標準を使用して定義する必要があります。


<InputNumber v-model="value1" inputId="currency-us" mode="currency" currency="USD" locale="en-US" fluid />
<InputNumber v-model="value2" inputId="currency-germany" mode="currency" currency="EUR" locale="de-DE" />
<InputNumber v-model="value3" inputId="currency-india" mode="currency" currency="INR" currencyDisplay="code" locale="en-IN" fluid />
<InputNumber v-model="value4" inputId="currency-japan" mode="currency" currency="JPY" locale="jp-JP" fluid />

カスタムテキスト(例:単位)は、prefix および suffix プロパティを使用して、入力セクションの前または後に配置できます。


<InputNumber v-model="value1" inputId="mile" suffix=" mi" fluid />
<InputNumber v-model="value2" inputId="percent" prefix="%" fluid />
<InputNumber v-model="value3" inputId="expiry" prefix="Expires in " suffix=" days" fluid />
<InputNumber v-model="value4" inputId="temperature" prefix="&uarr; " suffix="℃" :min="0" :max="40" fluid />

スピナーボタンは、showButtons プロパティを使用して有効になり、レイアウトは buttonLayout で定義されます。


<InputNumber v-model="value1" inputId="stacked-buttons" showButtons mode="currency" currency="USD" fluid />
<InputNumber v-model="value2" inputId="minmax-buttons" mode="decimal" showButtons :min="0" :max="100" fluid />
<InputNumber v-model="value3" inputId="horizontal-buttons" showButtons buttonLayout="horizontal" :step="0.25" mode="currency" currency="EUR" fluid>
    <template #incrementbuttonicon>
        <span class="pi pi-plus" />
    </template>
    <template #decrementbuttonicon>
        <span class="pi pi-minus" />
    </template>
</InputNumber>

ボタンは、buttonLayoutvertical として設定することで、垂直に配置することもできます。


<InputNumber v-model="value" showButtons buttonLayout="vertical" style="width: 3rem" :min="0" :max="99">
    <template #incrementbuttonicon>
        <span class="pi pi-plus" />
    </template>
    <template #decrementbuttonicon>
        <span class="pi pi-minus" />
    </template>
</InputNumber>

フォーカスすると、入力フィールドの上にフロートラベルが表示されます。詳細については、FloatLabel のドキュメントを参照してください。


<FloatLabel>
    <InputNumber id="number-input" v-model="value" />
    <label for="number-input">Number</label>
</FloatLabel>

デフォルトの outlined スタイルよりも視覚的に強調されたコンポーネントを表示するには、variant プロパティを filled として指定します。


<InputNumber v-model="value" variant="filled" />

無効状態は、検証の失敗を示すために invalid prop を使用して表示されます。このスタイルは、フォーム検証ライブラリと統合するときに使用できます。


<InputNumber v-model="value" :invalid="value === null"  mode="decimal" :minFractionDigits="2" />

disabled が存在する場合、要素は編集およびフォーカスできません。


<InputNumber v-model="value" disabled prefix="%" />

スクリーンリーダー

コンポーネントを説明する値は、inputId prop と組み合わせた label タグを使用するか、aria-labelledbyaria-label props を使用して提供できます。入力要素は、aria-valueminaria-valuemaxaria-valuenow 属性に加えて、spinbutton ロールを使用します。


<label for="price">Price</label>
<InputNumber inputId="price" />

<span id="label_number">Number</span>
<InputNumber aria-labelledby="label_number" />

<InputNumber aria-label="Number" />

キーボードサポート

キー機能
tab入力をフォーカスします。
上矢印値を増やします。
下矢印値を減らします。
home最小値が指定されている場合は、最小値を設定します。
end最大値が指定されている場合は、最大値を設定します。