## インプット
マウスやキーボードを使ってデータを入力します。
:::warning
インプットは制御されたコンポーネントであり、**常にVueのバインディング値**を表示します。
通常の状況においては、`input` イベントは処理されるべきである。そのハンドラはコンポーネントのバインディング値を更新しなければなりません (あるいは `v-model` を使用しなければなりません)。そうでなければ、入力ボックスの値は変更されません。
`v-model` 修飾子はサポートしていません。
:::
### 基本的な使い方
:::demo
```html
```
:::
### 無効化
:::demo インプットを`disabled`属性で無効にする。
```html
```
:::
### クリア可能
:::demo インプットを `clearable` 属性でクリア可能にできます。
```html
```
:::
### パスワードボックス
:::demo `show-password`属性を用いて、トグル可能なパスワードインプットを作成する。
```html
```
:::
### アイコン付きインプット
インプットタイプを示すアイコンを追加します。
:::demo インプットにアイコンを追加するには、`prefix-icon` と `suffix-icon` 属性を使えばよい。また、`prefix` と `suffix` という名前のスロットも同様に機能します。
```html
Using attributes
Using slots
```
:::
### テキストエリア
複数行のテキスト情報を入力できるようにリサイズ可能。属性 `type="textarea"` を追加して、`input` をネイティブの `textarea` に変更します。
:::demo Control the height by setting the `rows` prop.
```html
```
:::
### テキストエリアの自動サイズ
インプットタイプのテキストエリアに `autosize` プロップを設定すると、内容に応じて自動的に高さが調整されます。オプションオブジェクトを `autosize` に渡すことで、テキストエリアが自動的に調整できる最小行数と最大行数を指定できます。
:::demo
```html
```
:::
### ミックスインプット
要素(一般的にはラベルやボタン)を前置または追加します。
:::demo 入力に前置または追加する要素を配置するには `slot` を用いる。
```html
Http://
.com
```
:::
### サイズ
:::demo インプットサイズを変更するために`size`属性を追加する。デフォルトのサイズの他に、3つのオプションがある: `large`, `small`, `mini`
```html
```
:::
### オートコンプリート
現在のインプットをもとに、おすすめのヒントを得ることができます。
:::demo オートコンプリートコンポーネントはインプットサジェスチョンを提供します。`fetch-suggestions` 属性は、提案されたインプットを返すメソッドです。この例では、`querySearch(queryString, cb)` は、準備ができたら `cb(data)` を経由してオートコンプリートにサジェスチョンを返します。
```html
list suggestions when activated
list suggestions on input
```
:::
### カスタムテンプレート
サジェスチョンの表示方法をカスタマイズします。
:::demo サジェスチョンアイテムをカスタマイズするには、`scoped slot`を使う。スコープでは、`item` キーを使ってサジェスチョンオブジェクトにアクセスすることができます。
```html
{{ item.value }}
{{ item.link }}
```
:::
### リモート検索
サーバーサイドからデータを検索します。
:::demo
```html
```
:::
### 限界長さ
:::demo `maxlength` と `minlength` はネイティブ入力の属性であり、ユーザが入力できる文字数の制限を宣言するものである。テキストやテキストエリア型のインプットに対して `maxlength` プロップを設定すると、インプット値の長さを制限することができ、同時に `show-word-limit` を `true` に設定することで単語数を表示することができます。
```html
```
:::
### インプット属性
| Attribute | Description | Type | Accepted Values | Default |
| ----| ----| ----| ---- | ----- |
|type| インプットタイプ | string | text, textarea and other [native input types](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Form_%3Cinput%3E_types) | text |
|modelValue / v-model| バインディング値 | string / number| — | — |
|maxlength| ネイティブインプットの `maxlength` と同じ | number| — | — |
|minlength| ネイティブインプットの `minlength` と同じ | number | — | — |
|show-word-limit | `type` が 'text' または 'textarea' の場合に単語数を表示するかどうかを指定する | boolean | — | false |
|placeholder| インプットのプレースホルダー | string | — | — |
| clearable | クリアボタンを表示するかどうか | boolean | — | false |
| show-password | トグル可能なパスワード入力を表示するかどうか| boolean | — | false |
|disabled | 入力が無効化されているかどうか | boolean | — | false |
|size | インプットサイズ、`type` が 'textarea' でない場合に動作します。 | string | medium / small / mini | — |
| prefix-icon | プレフィックスアイコンクラス | string | — | — |
| suffix-icon | サフィックスアイコンクラス | string | — | — |
|rows | textareaの行数、`type`が'textarea'の場合にのみ動作します。 | number | — | 2 |
|autosize | textareaが適応的な高さを持つかどうか、`type`が'textarea'の場合にのみ動作します。オブジェクトを受け取ることができます。 e.g. { minRows: 2, maxRows: 6 } | boolean / object | — | false |
|autocomplete | ネイティブインプットの `autocomplete` と同じ | string | on/off | off |
|name | ネイティブインプットの `name` と同じ | string | — | — |
| readonly | ネイティブインプットの `readonly` と同じ | boolean | — | false |
|max | ネイティブインプットの `max` と同じ | — | — | — |
|min | ネイティブインプットの `min` と同じ | — | — | — |
|step| ネイティブインプットの `step` と同じ | — | — | — |
|resize| リサイズ性を制御する | string | none, both, horizontal, vertical | — |
|autofocus | ネイティブインプットの `autofocus` と同じ | boolean | — | false |
|form | ネイティブインプットの `form` と同じ | string | — | — |
| label | ラベルインデックス | string | — | — |
| tabindex | インプットタビインデックス | string / number | - | - |
| validate-event | フォームバリデーションをトリガするかどうか | boolean | - | true |
### インプットスロット
| Name | Description |
|------|--------|
| prefix | インプットプレフィックスとしての内容、 `type` が 'text' の場合のみ動作します。 |
| suffix | インプットサフィックスとしての内容、 `type` が 'text' の場合のみ動作します。 |
| prepend | インプットの前に付加する内容、 `type` が 'text' の場合のみ動作します。 |
| append | インプットの後に付加する内容、 `type` が 'text' の場合のみ動作します。 |
### インプットイベント
| Event Name | Description | Parameters |
|----| ----| ----|
| blur | インプットがぼやけたときにトリガーされます | (event: Event) |
| focus | インプットがフォーカスされたときトリガーされます | (event: Event) |
| change | インプットボックスがフォーカスを失ったとき、またはユーザーが Enter キーを押したときにのみトリガされます | (value: string \| number) |
| input | インプット値が変更されたときにトリガーされます | (value: string \| number) |
| clear | クリアボタンをクリックしてインプットがクリアされたときにトリガされます。 | — |
### インプットメソッド
| Method | Description | Parameters |
|------|--------|-------|
| focus | インプット要素にフォーカスを当てる | — |
| blur | インプット要素にフォーカスをぼやけさせる | — |
| select | インプット要素のテキストを選択 | — |
### オートコンプリート属性
Attribute | Description | Type | Options | Default
|----| ----| ----| ---- | -----|
|placeholder| オートコンプリートでのインプットプレースホルダー | string | — | — |
| clearable | クリアボタンを表示するかどうか | boolean | — | false |
|disabled | オートコンプリートを無効にしているかどうか | boolean | — | false|
| value-key | 表示用インプットサジェスチョンオブジェクトのキー名 | string | — | value |
|icon | アイコン名 | string | — | — |
| model-value / v-model | バインディング値 | string | — | — |
| debounce | タイプ時のデバウンス遅延(ミリ秒単位) | number | — | 300 |
| placement | ポップアップメニューの配置 | string | top / top-start / top-end / bottom / bottom-start / bottom-end | bottom-start |
|fetch-suggestions | インプットサジェスチョンを取得するためのメソッドです。サジェスチョンの準備ができたら、`callback(data:[])` を呼び出してオートコンプリートに返す。 | Function(queryString, callback) | — | — |
| popper-class | オートコンプリートのドロップダウン用カスタムクラス名 | string | — | — |
| trigger-on-focus | インプットフォーカス時にサジェスチョンを表示するかどうか | boolean | — | true |
| name | ネイティブインプットの `name` と同じ | string | — | — |
| select-when-unmatched | オートコンプリートにマッチするイベントがない場合に、入力時に `select` イベントを発生させるかどうか。 | boolean | — | false |
| label | ラベルテキスト | string | — | — |
| prefix-icon | プレフィックスアイコンクラス | string | — | — |
| suffix-icon | サフィックスアイコンクラス | string | — | — |
| hide-loading | リモート検索で読み込みアイコンを非表示にするかどうか | boolean | — | false |
| popper-append-to-body | ドロップダウンをボディに追加するかどうかを指定します。ドロップダウンの位置が間違っている場合は、このプロップをfalseに設定してみてください。 | boolean | - | false |
| highlight-first-item | リモート検索サジェスチョンの最初の項目をデフォルトで強調表示するかどうか | boolean | — | false |
| input-style | the style of the input element or textarea element | object | - | {} |
### オートコンプリートスロット
| Name | Description |
|------|--------|
| prefix | インプットプレフィックスとしての内容 |
| suffix | インプットサフィックスとしての内容 |
| prepend | インプット前に付加する内容 |
| append | インプット後に付加する内容 |
### オートコンプリートスコープスロット
| Name | Description |
|------|--------|
| — | インプットサジェスチョンのためのカスタムコンテンツ。スコープパラメータは { item } です。 |
### オートコンプリートイベント
| Event Name | Description | Parameters |
|----| ----| ----|
|select | サジェストがクリックされた時にトリガーされます。 | suggestion being clicked |
| change | 入力値の中のアイコンが変化したときにトリガーされます。 | (value: string \| number) |
### オートコンプリートメソッド
| Method | Description | Parameters |
|------|--------|-------|
| focus | インプット要素にフォーカスします | — |