Skip to content

Input 入力フィールド ​

基本的な使い方 ​

vue
<template>
  <lh-input v-model="text" placeholder="入力してください" />
  <lh-input v-model="text" type="textarea" :rows="3" autosize placeholder="複数行" />
  <lh-input v-model="text" type="password" placeholder="パスワード" />
</template>

<script setup lang="ts">
import { ref } from 'vue'
const text = ref('')
</script>

プレースホルダースタイル(MP では必須) ​

ミニプログラムは ::placeholder 非対応

WeChat ミニプログラムの WXSS は ::placeholder 疑似要素に対応していません。プレースホルダースタイルは prop で渡し、 CSS に ::placeholder を書かないでください(ビルド時のゲートでもブロックされます)。

vue
<lh-input placeholder="入力してください" placeholder-style="color: #999; font-size: 13px" />
<!-- またはクラス名を使う -->
<lh-input placeholder="入力してください" placeholder-class="my-placeholder" />

アイコン付きと状態 ​

vue
<template>
  <lh-input v-model="text" prefix-icon="search" placeholder="検索" clearable />
  <lh-input v-model="text" suffix-icon="close" placeholder="サフィックスアイコン" />
  <lh-input v-model="text" state="error" placeholder="バリデーション失敗の状態" />
  <lh-input v-model="text" :maxlength="20" show-word-limit placeholder="文字数カウント" />
</template>

Props ​

プロパティ説明型デフォルト値
modelValue (v-model)バインディング値string—
typeタイプ'text' | 'textarea' | 'password' | 'number' | 'email' | 'url' | 'tel' | 'date' | 'time''text'
sizeサイズ'small' | 'medium' | 'large'—
disabled無効booleanfalse
readonly読み取り専用booleanfalse
placeholderプレースホルダーのテキストstring—
placeholderStyleプレースホルダーのインラインスタイル(::placeholder を代替)string—
placeholderClassプレースホルダーのクラス名(placeholderStyle といずれか一方)string—
maxlength最大長number—
minlength最小長number—
showWordLimit文字数カウントを表示booleanfalse
clearableクリア可能booleanfalse
prefixIconプレフィックスアイコンLhIconName—
suffixIconサフィックスアイコンLhIconName—
stateバリデーション状態'error' | 'success' | 'warning'—
nameネイティブ name(フォーム収集用)string—
passwordパスワードモードbooleanfalse
rowstextarea の行数number—
autosizetextarea の高さ自動調整(MP の auto-height)booleanfalse
labelラベルの文言string—
customClassカスタムクラス名string—
themeVarsコンポーネントレベルのテーマ変数Record<string, string>—
sxクイックレイアウトプロパティLhSxProps—

Events ​

イベント説明コールバックパラメータ
update:modelValue値の変化(value: string)
input入力(event.detail.value を取得)(value: string)
blurフォーカス外れ—
focusフォーカス—
clearクリア—

Vue3 版との差異

autocomplete / autofocus / resize / form / tabindex / nativeType / inputStyle はミニプログラムに対応する機能がないため、本ライブラリでは実装しません。autosize はミニプログラムの textarea の auto-height 属性を使います。