お世話になっております。
kViewerを使用していますが、リストビューやMyページビュー等を表示しレコード詳細を見た時に、フィールドの値によってテーブルのフィールドの表示・非表示を行いたいです。
実行したコードでは、getElementByCodeで指定したフィールドコードがテーブル内のものでなければ非表示にすることができました。
しかしテーブル内のフィールドは非表示にすることができませんでした。
テーブル全体のフィールドコードを指定すると、テーブル全体が消えました。
コード記入をしてはいませんが、非表示にしたいテーブル内フィールドの値valueに’none’を設定したら、テーブルヘッダーだけが残り他の部分がテーブル枠ごと消えました。
レコードの詳細 > フィールドの設定 > デザイン では非表示設定ができるようですが、JSカスタマイズで判断を行いたいです。
kintoneではsetFieldShownがあり消せるようですが(実際に実行してはいないので想像でしか言えないですが)、kViewerで同じような関数があったり他の方法でテーブルのフィールドを非表示にする事はできないのでしょうか?
もしご存じの方がいましたら、教えていただけると幸いです。
( function() {
"use strict";
kv.events.record.mounted = [(state) => {
if ( state.record['条件'].value === '非表示' ) {
kv.detail.getElementByCode('テーブルフィールド1').style.display = 'none';
}
return state;
}];
})();