背景・実現したいこと
JavaScript初心者です。
To Doアプリでほかのアプリからアプリアクションで大分類と中分類のデータをコピーし、小分類をTo Doアプリ内で選択したいのですが、ほかのアプリ側からアプリアクションでTo Doアプリに移行すること中分類は引き継がれるのですが、大分類が「-----」になってしまいます。
どのようにすればうまく動くか教えていただけないでしょうか。
エラー情報 (開発者ツールのコンソール)
Uncaught TypeError: Cannot read properties of undefined (reading ‘addItem’)
at setDropdownItems (download.do:32)
at download.do:65
var setDropdownItems = function(event, dropdown) {
if (!event.record.中分類.value) return;
dropdown.addItem({label: '-----', value: ''});//32行目
bunrui02[event.record.中分類.value].forEach(function(bunrui02) {
dropdown.addItem({
label: bunrui02,
value: bunrui02
});
});
dropdown.setValue('');
};
と出ています
利用したソースコード
https://developer.cybozu.io/hc/ja/articles/360014149732-kintone-UI-Component-v0%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E5%8B%95%E7%9A%84%E3%83%89%E3%83%AD%E3%83%83%E3%83%97%E3%83%80%E3%82%A6%E3%83%B3%E3%82%92%E4%BD%9C%E6%88%90%E3%81%97%E3%82%88%E3%81%86-
を2回[親-子]用jsファイルと[子ー孫]用jsファイルの2つに分けて使っています。
岡田公紀さん
こんにちは。
中分類は反映できているということで、以下のような記述の箇所があると思います。
これと同じ内容が大分類ドロップダウンに対しても記述されているかご確認ください。
setDropdownItems(event, dropdown);
if (event.record.中分類.value) {
dropdown.setValue(event.record.中分類.value);
}
↓ 例
setDropdownItems(event, dropdownBig); // 大分類ドロップダウンの選択肢をセット
setDropdownItems(event, dropdownMiddle); // 中分類ドロップダウンの選択肢をセット
if (event.record.大分類.value) {
dropdownBig.setValue(event.record.大分類.value); // 大分類ドロップダウンに値をセット
}
if (event.record.中分類.value) {
dropdownMiddle.setValue(event.record.中分類.value); // 中分類ドロップダウンに値をセット
}