NocoBaseでデータの検索フィールドを配置したい

2024.05.01

※ NocoBaseのバージョンは、Dockerのlatestバージョンのv0.21.0-alpha.6で試しています。

困っていたこと

NocoBaseでデータブロックを配置したとき、表示されておるデータを検索する場合、フィルター操作を追加することでデータのフィルタリングが可能です。

ただし、このフィルターは条件を保存を行っても、一度ログアウトしてしまうと消えてしまい、また同じ条件の追加を行わないといけなかったので少々めんどうです。

利用者が全員使えるフィルターを配置したい。

どう対応すればいいの?

フィルターブロックを追加することで実現できる。

ブロックを追加 -> フィルターブロック(フォームか折りたたみ) -> コレクションを選択

で追加。

フォームを選んでみました。

フィールドの設定で検索したいものを設置します。

操作の設定 からフィルターとリセットボタンを設置できます。

実際に検索を行うには、ブロックのメニューでデータブロックを連結を選び、対応のブロックをONにします.

これでブロックのデータを検索できるようになります。

検索の挙動に関して気になったこと

  • 複数の検索フィールドを配置している場合、AND検索になりました

OR検索には対応していないっぽいです。

ブロックのメニューに連動規則というのがあって、グループ内の一部の条件を満たす でやってみましたが、特に変化は無しでした(公式のドキュメントにも記載無し)。

なんの連動なのだろうか。。。

  • 複数のコレクションに対する検索はできなそう

単一のコレクションしかブロック作成時に選択できませんでした。

データソースで、複数テーブルを連結したSQLコレクションを作成すれば似たようなことはできる気はしました。

※ 新バージョン(1.0)では対応されているかもしれませんが、まだ試せていません