他のアプリから非同期にデータを取ってくる
kintone.api呼べばいい。
.js
kintone.api(path,'GET', data, function (resp) {
// ここにデータ受信後の処理
// var hoge = resp['records'][0]['hoge']['value'];
// とか
});
画面項目をJavaScriptで変更する
なんらかのイベント発火を受けて処理するはずなので、そのコールバックのパラメータ「event」を使う。
.js
kintone.events.on('app.record.create.show', function (event) {
// event['record']['hoge']['value'] = 'hoge';
// とか
});
非同期通信の処理結果を受けて画面項目を変更する
ここまで書いたことの組み合わせで
.js
kintone.events.on('app.record.create.show', function (event) {
kintone.api(path,'GET', data, function (resp) {
// ここに代入分を記述
// event['record']['hoge']['value'] = resp['records'][0]['hoge']['value'];
});
});
これでできるよね!
・・・
できなかった (ノД`)・゜・。
デバッガで見ると確かにJavaScriptの変数上では想定通りに反映されている。
でも、画面には反映されない。。。
こうしましょう!
.js
kintone.events.on('app.record.create.show', function (event) {
kintone.api(path,'GET', data, function (resp) {
// ここに代入分を記述
// event['record']['hoge']['value'] = resp['records'][0]['hoge']['value'];
kintone.app.record.set(event); // <--これ追加
});
});
kintoneイベントの外で画面項目を更新したら自分で再設定用のメソッドを呼んでやる必要があるようです。
めんどくさいけど、わからなくもない。