Skip to content

Select セレクト ​

基本的な使い方 ​

vue
<template>
  <lh-select v-model="value" :options="options" placeholder="選択してください" />
</template>

<script setup lang="ts">
import { ref } from 'vue'

const value = ref()
const options = [
  { label: '選択肢 1', value: 'a' },
  { label: '選択肢 2', value: 'b' },
  { label: '無効な項目', value: 'c', disabled: true },
]
</script>

クリア可能 / フィルタ可能 ​

vue
<template>
  <lh-select v-model="value" :options="options" clearable />
  <lh-select v-model="value" :options="options" filterable placement="bottom" />
</template>

Props ​

プロパティ説明型デフォルト値
modelValue (v-model)バインディング値unknown—
options選択肢リストLhSelectOption[]—
sizeサイズ'small' | 'medium' | 'large'—
disabled無効booleanfalse
clearableクリア可能booleanfalse
placeholderプレースホルダーのテキストstring—
filterableフィルタ可能(MP 端はポップアップ内に入力フィールドを提供)booleanfalse
placementポップアップの位置(12 種の方位)LhPlacement'bottom'
customClassカスタムクラス名string—
themeVarsコンポーネントレベルのテーマ変数Record<string, string>—
sxクイックレイアウトプロパティLhSxProps—

LhSelectOption ​

プロパティ説明型
label表示文言string
value値unknown
disabled無効boolean

Events ​

イベント説明コールバックパラメータ
update:modelValue値の変化(value)
change値の変化(クリア時は undefined を含む)(value)
visible-changeポップアップの表示 / 非表示(visible: boolean)

Vue3 版との差異

  • ポップアップは root-portal + 2 フレームの非同期計測定位で動作します(absolute 定位ではありません)。
  • キーボードナビゲーション(↑↓ / Home / End)は H5 のみ。ミニプログラムにはキーボードイベントがなく、コンパイル期に削除されます —— MP 端では選択肢をタップするしかありません。
  • filterable のフィルタ入力フィールドは MP 端ではポップアップの内部にレンダリングされます。