メインコンテンツまでスキップ
バージョン: 1.17.0

MultiChoice

Overview

MultiChoice は、複数選択肢の中から複数の値を選択することができます。


Specification

Property

使用できるプロパティの一覧です。プロパティを指定して値を更新することができます。

NameTypeDefaultDescriptionRemark
classNamestring""コンポーネントの class 名
errorstring""エラーに表示するテキスト未指定、あるいは空文字の場合、error は表示されない
idstring""コンポーネントの id 名
labelstring""コンポーネントの説明ラベル未指定、あるいは空文字の場合、label は表示されない
disabledbooleanfalseコンポーネントの編集可/不可設定
requiredIconbooleanfalseコンポーネントの必須アイコン表示/非表示設定
visiblebooleantrueコンポーネントの表示/非表示設定
itemsArray<Item>[]表示する選択肢一覧items が配列以外の場合、エラーを出力する
value *1Array<string>[]選択されている値value と selectedIndex が未指定の場合、何も選択されない
重複する value を指定し、selectedIndex を指定しない場合、Item.value で最初にマッピングされた value の項目が選択され、selectedIndex にはその選択肢のインデックス番号が入る
value が配列以外の場合、エラーを出力する
selectedIndex *1Array<Number>[]選択されている値のインデックス番号items 内に重複する Item.value がある場合、どの Item.value が選択されるか指定するためのプロパティ
value が未指定で、selectedIndex に有効な値が指定されている場合、 そのインデックス番号の選択肢が選択される
value に重複した Item.value が指定され、selectedIndex の値が value 内の重複した Item.value とマッピングした場合、そのインデックス番号の選択肢が選択される
selectedIndex が配列以外の場合、エラーを出力する
備考

*1: value と Item.value に重複した値を指定できる。重複した値を指定する場合、value と selectedIndex プロパティを使って制御することができる。
例: items = [{label: 'Orange', value: 'fruit'}, {label: 'Apple', value: 'fruit'}, {label: 'Carrot', value: 'vegetable'}, {label: 'Lemon', value: 'fruit'}] を指定する

  • 以下のように value を指定、selectedIndex を未指定の場合:

    • value = ['fruit', 'vegetable']: 最初と 3番目の値が選択される。
    • value = ['meat', 'other']: 何も選択されない。
  • 以下のように value を未指定、selectedIndex を指定する場合:

    • selectedIndex = [0, 1]: 最初と 2番目の値が選択される。
    • selectedIndex = [98, 99]: 何も選択されない。
  • 以下のように value と selectedIndex を指定する場合:

    • value = ['fruit', 'vegetable'], selectedIndex = [1, 3]: 2番目と 3番目の値が選択される。
    • value = ['fruit', 'fruit', 'vegetable'], selectedIndex = [1, 3]: 2番目と 3番目と 4番目の値が選択される。
    • value = ['fruit', 'fruit'], selectedIndex = [1, 2, 3]: 最初と 2番目の値が選択される。
      ※ value と selectedIndex が同時に指定された場合、value の値が優先される。よって、上記の 1つ目と 3つ目の例において selectedIndex の 3 に当たる item は選択されない。

Item

NameTypeDefaultDescriptionRemark
labelstringnull各選択肢のテキストItem.label が未指定の場合、UI 上は Item.value の値が表示される
valuestringnull各選択肢の値Item.value に重複の値を指定できる
disabledbooleanfalse各オプションの選択可/不可設定

Event

指定できるイベントの一覧です。

NameTypeDescriptionRemark
changefunction値が変更された時のイベントハンドラ引数には Event の event オブジェクトをとる

event.detail で以下の値を受け取ることができる
event.detail.oldValue : 変更前の value の値
event.detail.value : 変更後の value の値

Constructor

MultiChoice(options)
使用できるコンストラクタの一覧です。

Parameter

NameTypeDefaultDescriptionRemark
optionsobject{}コンポーネントのプロパティを含むオブジェクト

Custom CSS

ヒント

Custom CSS をご確認ください。

コンポーネントのスタイルを変更するために使用できるプロパティの一覧です。

Property

Name
--kuc-multi-choice-menu-width
--kuc-multi-choice-menu-height
--kuc-multi-choice-menu-font-size
--kuc-multi-choice-menu-color
--kuc-multi-choice-menu-color-selected
--kuc-multi-choice-menu-background-color-hover

Sample Code

ヒント

導入と実装方法 をご確認ください。

全てのパラメータを指定した場合のサンプルコードです。

const Kuc = Kucs['1.x.x'];

const space = kintone.app.record.getSpaceElement('space');

const multiChoice = new Kuc.MultiChoice({
label: 'Fruit',
requiredIcon: true,
items: [
{
label: 'orange',
value: 'Orange'
},
{
label: 'apple',
value: 'Apple'
},
{
label: 'banana',
value: 'Banana',
disabled: true
}
],
value: ['Orange'],
selectedIndex: [0],
error: 'Error occurred!',
className: 'options-class',
id: 'options-id',
visible: true,
disabled: false
});
space.appendChild(multiChoice);

multiChoice.addEventListener('change', event => {
console.log(event);
});