kintone Vue3 Component
ホーム
ガイド
  • レイアウト系

    • KvcWrap
    • KvcRow
    • KvcField
  • フォーム入力系

    • KvcTextInput
    • KvcTextarea
    • KvcCheckbox
    • KvcRadio
    • KvcDropdown
    • KvcAutocomplete
    • KvcDatePicker
    • KvcTimePicker
    • KvcDateTimePicker
    • KvcFileSelect
  • UI系

    • KvcButton
    • KvcTab / KvcTabPane
    • KvcDialog
    • KvcSpinner
    • KvcTable
    • KvcGroup
GitHub
ホーム
ガイド
  • レイアウト系

    • KvcWrap
    • KvcRow
    • KvcField
  • フォーム入力系

    • KvcTextInput
    • KvcTextarea
    • KvcCheckbox
    • KvcRadio
    • KvcDropdown
    • KvcAutocomplete
    • KvcDatePicker
    • KvcTimePicker
    • KvcDateTimePicker
    • KvcFileSelect
  • UI系

    • KvcButton
    • KvcTab / KvcTabPane
    • KvcDialog
    • KvcSpinner
    • KvcTable
    • KvcGroup
GitHub
  • ガイド

    • はじめに
    • インストール
    • 使い方

使い方

プラグインとして登録

最も簡単な方法は、プラグインとしてグローバルに登録することです。

import { createApp } from 'vue'
import KintoneVueComponent from '@zygapp/kintone-vue3-component'
import '@zygapp/kintone-vue3-component/style.css'
import App from './App.vue'

const app = createApp(App)
app.use(KintoneVueComponent)
app.mount('#app')

この方法で登録すると、すべてのコンポーネントがグローバルに使用可能になります。

個別インポート

必要なコンポーネントだけをインポートすることもできます。

import { KvcButton, KvcTextInput, KvcField } from '@zygapp/kintone-vue3-component'
import '@zygapp/kintone-vue3-component/style.css'
<script setup>
import { ref } from 'vue'
import { KvcButton, KvcTextInput, KvcField } from '@zygapp/kintone-vue3-component'

const inputValue = ref('')
</script>

<template>
  <kvc-field label="名前">
    <kvc-text-input v-model="inputValue" />
  </kvc-field>
  <kvc-button @click="handleClick">送信</kvc-button>
</template>

基本的な使用例

シンプルなフォーム

<template>
  <kvc-wrap>
    <kvc-field label="ユーザー名" required>
      <kvc-text-input v-model="form.username" />
    </kvc-field>

    <kvc-field label="メールアドレス">
      <kvc-text-input v-model="form.email" type="email" />
    </kvc-field>

    <kvc-field label="パスワード">
      <kvc-text-input v-model="form.password" type="password" />
    </kvc-field>

    <kvc-button color="save" @click="handleSubmit">
      登録
    </kvc-button>
  </kvc-wrap>
</template>

<script setup>
import { ref } from 'vue'

const form = ref({
  username: '',
  email: '',
  password: ''
})

const handleSubmit = () => {
  console.log('Form data:', form.value)
}
</script>

ドロップダウンとラジオボタン

<template>
  <kvc-wrap>
    <kvc-field label="カテゴリ">
      <kvc-dropdown
        v-model="selectedCategory"
        :items="categories"
      />
    </kvc-field>

    <kvc-field label="優先度">
      <kvc-radio
        v-model="priority"
        :items="priorities"
      />
    </kvc-field>
  </kvc-wrap>
</template>

<script setup>
import { ref } from 'vue'

const categories = ref([
  { label: '開発', value: 'dev' },
  { label: 'デザイン', value: 'design' },
  { label: 'マーケティング', value: 'marketing' }
])

const priorities = ref([
  { label: '高', value: 'high' },
  { label: '中', value: 'medium' },
  { label: '低', value: 'low' }
])

const selectedCategory = ref('dev')
const priority = ref('medium')
</script>

日付と時刻の選択

<template>
  <kvc-wrap>
    <kvc-field label="開始日">
      <kvc-date-picker v-model="startDate" />
    </kvc-field>

    <kvc-field label="開始時刻">
      <kvc-time-picker v-model="startTime" />
    </kvc-field>

    <kvc-field label="終了日時">
      <kvc-datetime-picker v-model="endDateTime" />
    </kvc-field>
  </kvc-wrap>
</template>

<script setup>
import { ref } from 'vue'

const startDate = ref('2024-01-01')
const startTime = ref('09:00')
const endDateTime = ref('2024-01-01T18:00')
</script>

テーブルの使用

<template>
  <kvc-table
    v-model="tableData"
    :columns="columns"
    :min-rows="1"
    :max-rows="10"
  >
    <template #name="{ row, index }">
      <kvc-text-input v-model="row.name" />
    </template>

    <template #age="{ row, index }">
      <kvc-text-input v-model="row.age" type="number" />
    </template>
  </kvc-table>
</template>

<script setup>
import { ref } from 'vue'

const columns = ref([
  { key: 'name', label: '名前', width: '200px' },
  { key: 'age', label: '年齢', width: '100px' }
])

const tableData = ref([
  { name: '田中太郎', age: 30 },
  { name: '佐藤花子', age: 25 }
])
</script>

コンポーザブルの使用

スピナー

import { useSpinner, showSpinner, hideSpinner } from '@zygapp/kintone-vue3-component'

// 方法1: useSpinner コンポーザブルを使用(推奨)
const $spinner = useSpinner()
$spinner.open('データを読み込み中...')
setTimeout(() => $spinner.close(), 3000)

// 方法2: グローバル関数を使用
showSpinner('処理中...')
setTimeout(() => hideSpinner(), 3000)

// スピナーのメッセージを更新
$spinner.open('読み込み中...')
setTimeout(() => {
  $spinner.update('処理中...')
}, 1000)
setTimeout(() => {
  $spinner.close()
}, 3000)

TypeScript サポート

すべてのコンポーネントはTypeScriptで型定義されています。

import type { KvcButtonProps, KvcTableColumn } from '@zygapp/kintone-vue3-component'

const buttonProps: KvcButtonProps = {
  color: 'save',
  disabled: false
}

const columns: KvcTableColumn[] = [
  { key: 'name', label: '名前', width: '200px' },
  { key: 'email', label: 'メール', width: '300px' }
]

次のステップ

各コンポーネントの詳細な使い方については、コンポーネント一覧を参照してください。

最終更新: 2025/11/11 7:24
Contributors: k.kato
Prev
インストール