1.4 KiB
1.4 KiB
Component PriceDisplay
Tanggal: 2026-07-24 Status: Selesai
Tujuan
Membuat component reusable untuk menampilkan dan menginput format harga Rupiah.
Yang Dikerjakan
1. Component PriceDisplay
- Menggunakan
InputGroupdengan prefixRp - Support 2 mode: display (readonly) dan input (editable)
- Format angka dengan pemisah titik (1.000.000)
- Input type
textdenganinputmode="numeric"agar format titik berfungsi
2. Integrasi
- Tabel plans: menampilkan harga dengan format Rp 50.000
- Form plans: input harga dengan format Rp
File yang Diubah
| File | Aksi | Detail |
|---|---|---|
web2/app/components/PriceDisplay.vue |
Dibuat | Component PriceDisplay |
web2/app/pages/admin/plans/columns.ts |
Diubah | Format harga di tabel |
web2/app/pages/admin/plans/index.vue |
Diubah | Input harga pakai PriceDisplay |
Props
| Prop | Tipe | Default | Deskripsi |
|---|---|---|---|
value |
number |
- | Nilai harga (display mode) |
modelValue |
string |
- | v-model (input mode) |
placeholder |
string |
'0' |
Placeholder input |
readonly |
boolean |
false |
Readonly mode |
disabled |
boolean |
false |
Disabled mode |
Contoh Penggunaan
<!-- Display -->
<PriceDisplay :value="50000" :readonly="true" />
<!-- Output: [Rp] [50.000] -->
<!-- Input -->
<PriceDisplay v-model="form.price" />
<!-- Output: [Rp] [0 (editable)] -->