Kliping
KlipingBerandaDokumentasiKomponenBlocksVariasiTemplateDice UIHooks
Bagian
  • Pengenalan
  • Komponen
  • Instalasi
  • Tema & Kustomisasi
  • Mode Gelap
  • CLI
  • RTL
  • Skills
  • Server MCP
  • Form
  • Catatan Perubahan
Instalasi
  • Vite
  • Nuxt
  • Astro
  • Laravel
  • Manual
Mode Gelap
  • Vite
  • Nuxt
  • Vitepress
  • Astro
Form
  • VeeValidate
  • TanStack Form
  • Formisch
Registry
  • Ikhtisar
  • Memulai
  • Contoh
  • registry.json
  • registry-item.json
  • Tanya Jawab
Utilitas
  • scroll-fade
  • shimmer
Lainnya
  • components.json
  • JavaScript
  • Figma
  • Direktori Registry
  • Warna
  • Typeset
  • Dokumentasi Lama
  • Tentang
  • Kredit
  • Kontribusi
Komponen
  • Accordion
  • Alert
  • Alert Dialog
  • Aspect Ratio
  • Attachment
  • Avatar
  • Badge
  • Breadcrumb
  • Bubble
  • Button
  • Button Group
  • Calendar
  • Card
  • Carousel
  • Chart
  • Checkbox
  • Collapsible
  • Combobox
  • Command
  • Context Menu
  • Data Table
  • Date Picker
  • Dialog
  • Drawer
  • Dropdown Menu
  • Empty
  • Field
  • Form
  • Hover Card
  • Input
  • Input Group
  • Input OTP
  • Item
  • Kbd
  • Label
  • Marker
  • Menubar
  • Message
  • Message Scroller
  • Native Select
  • Navigation Menu
  • Number Field
  • Pagination
  • Pin Input
  • Popover
  • Progress
  • Questionnaire
  • Radio Group
  • Range Calendar
  • Resizable
  • Scroll Area
  • Select
  • Separator
  • Sheet
  • Sidebar
  • Skeleton
  • Slider
  • Sonner
  • Spinner
  • Stepper
  • Switch
  • Table
  • Tabs
  • Tags Input
  • Textarea
  • Toast
  • Toggle
  • Toggle Group
  • Tooltip
  • Typography

Input Group

SebelumnyaBerikutnya

Menyisipkan informasi atau aksi tambahan ke dalam input maupun textarea.

12 results
https://
52% used

Instalasi ​

bash
npx shadcn-vue@latest add input-group

Pasang dependensi berikut:

bash
npm install reka-ui

Salin dan tempel kode sumber di GitHub ke project Anda.

Sesuaikan path import dengan struktur project Anda.

Penggunaan ​

vue
<script setup lang="ts">
import {
  InputGroup,
  InputGroupAddon,
  InputGroupButton,
  InputGroupInput,
  InputGroupText,
  InputGroupTextarea,
} from '@/components/ui/input-group'
</script>

<template>
  <InputGroup>
    <InputGroupInput placeholder="Search..." />
    <InputGroupAddon>
      <SearchIcon />
    </InputGroupAddon>
    <InputGroupAddon align="inline-end">
      <InputGroupButton>Search</InputGroupButton>
    </InputGroupAddon>
  </InputGroup>
</template>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

Contoh ​

Icon ​

Text ​

Menampilkan keterangan teks tambahan di samping input.

$
USD
https://
.com
@company.com
120 characters left

Button ​

Menambahkan tombol untuk menjalankan aksi di dalam input group.

https://

Tooltip ​

Menambahkan tooltip untuk memberi konteks atau bantuan tambahan.

Textarea ​

Input group juga bisa dipakai bersama textarea. Untuk perataannya, gunakan block-start atau block-end.

Line 1, Column 1
script.js

Spinner ​

Menampilkan indikator pemuatan selagi input diproses.

Saving...
Please wait...

Label ​

Menambahkan label di dalam input group agar lebih mudah diakses.

Dropdown ​

Memadukan input group dengan dropdown menu untuk interaksi yang lebih rumit.

Button Group ​

Membungkus input group dengan button group untuk membuat awalan dan akhiran.

.com

Input Kustom ​

Tambahkan atribut data-slot="input-group-control" pada input kustom Anda agar perilaku dan state focus-nya ditangani otomatis.

Tidak ada style bawaan yang diterapkan ke input kustom. Style-nya Anda atur sendiri lewat prop class.

vue
<script setup lang="ts">
import { InputGroup, InputGroupAddon, InputGroupButton } from '@/components/ui/input-group'
</script>

<template>
  <div class="grid w-full max-w-sm gap-6">
    <InputGroup>
      <textarea
        data-slot="input-group-control"
        class="flex field-sizing-content min-h-16 w-full resize-none rounded-md bg-transparent px-3 py-2.5 text-base transition-[color,box-shadow] outline-none md:text-sm"
        placeholder="Autoresize textarea..."
      />
      <InputGroupAddon align="block-end">
        <InputGroupButton class="ml-auto" size="sm" variant="default">
          Submit
        </InputGroupButton>
      </InputGroupAddon>
    </InputGroup>
  </div>
</template>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

Referensi API ​

InputGroup ​

Komponen utama yang membungkus input dan addon.

PropTipeBawaan
classstring
vue
<InputGroup>
  <InputGroupInput />
  <InputGroupAddon />
</InputGroup>

InputGroupAddon ​

Menampilkan ikon, teks, tombol, atau konten lain di samping input.

Focus Navigation

Agar navigasi focus berjalan benar, komponen InputGroupAddon sebaiknya diletakkan setelah input. Posisinya diatur lewat prop align.

PropTipeBawaan
align"inline-start" | "inline-end" | "block-start" | "block-end""inline-start"
classstring
vue
<InputGroupAddon align="inline-end">
  <SearchIcon />
</InputGroupAddon>

Untuk <InputGroupInput />, pakai perataan inline-start atau inline-end. Untuk <InputGroupTextarea />, pakai block-start atau block-end.

Satu InputGroupAddon bisa memuat beberapa InputGroupButton sekaligus beserta ikon.

vue
<InputGroupAddon>
  <InputGroupButton>Button</InputGroupButton>
  <InputGroupButton>Button</InputGroupButton>
</InputGroupAddon>

InputGroupButton ​

Menampilkan tombol di dalam input group.

PropTipeBawaan
size"xs" | "icon-xs" | "sm" | "icon-sm""xs"
variant"default" | "destructive" | "outline" | "secondary" | "ghost" | "link""ghost"
classstring
vue
<InputGroupButton>
Button
</InputGroupButton>

<InputGroupButton size="icon-xs" aria-label="Copy">
  <CopyIcon />
</InputGroupButton>

InputGroupInput ​

Pengganti <Input /> saat membangun input group. Style input group-nya sudah diterapkan, dan komponen ini memakai data-slot="input-group-control" yang seragam untuk menangani state focus.

PropTipeBawaan
classstring

Semua prop lain diteruskan ke komponen <Input /> di baliknya.

vue
<InputGroup>
  <InputGroupInput placeholder="Enter text..." />
  <InputGroupAddon>
    <SearchIcon />
  </InputGroupAddon>
</InputGroup>

InputGroupTextarea ​

Pengganti <Textarea /> saat membangun input group. Style-nya sudah diterapkan, dan komponen ini memakai data-slot="input-group-control" yang seragam untuk menangani state focus.

PropTipeBawaan
classstring

Semua prop lain diteruskan ke komponen <Textarea /> di baliknya.

vue
<InputGroup>
  <InputGroupTextarea placeholder="Enter message..." />
  <InputGroupAddon align="block-end">
    <InputGroupButton>Send</InputGroupButton>
  </InputGroupAddon>
</InputGroup>
InputInput OTP

Di halaman ini

InstalasiPenggunaanContohIconTextButtonTooltipTextareaSpinnerLabelDropdownButton GroupInput KustomReferensi APIInputGroupInputGroupAddonInputGroupButtonInputGroupInputInputGroupTextarea
Dirilis di bawah lisensi MIT. Ditulis ulang untuk Vue dari shadcn-vue, shadcn-ui-blocks, dan shadcn-hooks. Hak cipta © 2026 Kliping