標準機能のラジオボタンは必ず必須項目となり
常時1つの選択肢が選ばれている状態にしかできません。
選べる選択肢は1つだけでいいが、未選択も可能にしたいという場合は
以下のコードで初期値が無く、空文字選択肢を含むラジオボタンを作れます。
※kuc.min.js の適用必須
(() => {
'use strict';
// 追加画面か編集画面が表示されたときの処理
const events = ['app.record.create.show', 'app.record.edit.show'];
kintone.events.on(events, (event) => {
const record = event.record;
// [文字列1行]フィールドを非表示にする
kintone.app.record.setFieldShown('文字列1行', false);
// ラジオボタンの選択肢を定義
const radioOptions = [
{ label: '(未選択)', value: '' },
{ label: '選択肢A', value: '選択肢A' },
{ label: '選択肢B', value: '選択肢B' },
{ label: '選択肢C', value: '選択肢C' }
];
// ラジオボタンの初期値を現在の[文字列1行]フィールドから取得
const initialValue = record['文字列1行'].value || '';
// Kintone UI Component のラジオボタンを作成
const radioButton = new Kuc.RadioButton({
items: radioOptions,
value: initialValue
});
// ラジオボタンの値が変わったときの処理
radioButton.addEventListener('change', (e) => {
const selectedValue = e.detail.value;
// 現在のレコードの値を取得
const updatedRecord = kintone.app.record.get();
// [文字列1行]フィールドの値を更新
updatedRecord.record['文字列1行'].value = selectedValue;
// 現在のレコードに値を設定
kintone.app.record.set(updatedRecord);
});
// スペースフィールド(要素ID: RadioButton)にラジオボタンを設置
const spaceElement = kintone.app.record.getSpaceElement('RadioButton');
if (spaceElement) {
spaceElement.replaceChildren(); // 再描画に備えて初期化
spaceElement.appendChild(radioButton);
}
return event;
});
})();