Bubbleで「続きを見る」機能を実装する方法

著者:大熊滉希
ノーコード特化のアプリ/システム開発事業を展開するEPICsの代表。
前職にて新規事業コンサルティングを行う企業で役員を歴任した後、
最小の経営資源で開発を行えるノーコードに可能性を感じEPICsを創業。

運営会社:EPICs株式会社
日本最大級の開発実績を誇るノーコード特化のアプリ/システム開発会社。
最安30万円・最短2週間から、BubbleやAdaloなど多様なツールの中からニーズに合わせた最適な開発を提案・実施している。Adalo公認エキスパートも在籍。

ノーコードツールBubbleで「続きを見る」機能を実装する方法をご紹介します!

続きを見る機能とは、テキストコンテンツが特定の高さや文字数を超えた部分を非表示にし、その直下に配置した「続きを見る」というような文言のボタンクリック時に全文を表示する、といった挙動のものです。

以下のような方向けの内容となっておりますので、少しでも当てはまる方はぜひ最後までご覧いただき、Bubble開発の引き出しを微増してくださいませ〜!

  • 表示する最大文字数を指定して、それ以降のテキストを非表示にする方法を知りたい…!
  • Bubbleの「truncated to」を使ったことがないので使ってみたい…

※理想の実装は文字数による制限ではなく、「高さを指定して、それを超えた部分を非表示にする」なんですが、そちらは現状検証中の段階なので、検証完了次第すぐに追記させていただきます。

目次
無料で資料をダウンロード

日本最大級のノーコード開発実績

ノーコード開発サービスのご案内

  • EPICsのノーコード受託開発特徴
  • 支援実績・事例集
  • 料金・サービス提供の流れ
【一分で完了】資料をダウンロード

実装イメージ

RepeatingGroupのコンテンツ内のテキストが58文字を超えているときのみ、「もっと見る」ボタンを表示し、それをクリックしたら、隠していた全文を表示するといったものが今回の実装イメージです。

※上記の制限文字数58は、デザイン(デバイス幅320pxが基準など)に合わせて調整してください。

サンプルのエレメントツリーは以下の通りです。

もっと見るはデフォルトで非表示してます

文字数を指定する場合の「続きを見る機能」の実装手順

以下の手順で実装します。

  1. テキストの全文表示切り替えのCustom stateを作成する
  2. 続きを見るボタンの表示と文言切り替えをConditionalで設定する
  3. 続きを見るボタンをクリックしたときのワークフローを2通り組む
  4. テキストの文字数表示制限をConditionalで設定する

テキストの全文表示切り替えのCustom stateを作成する

続きを見るボタンをクリックしたときにテキストを全文表示し、再度クリックしたとき(このときのボタン文言は「元に戻す」)にまた文字数制限版に切り替えるためのCustom stateをテキストエレメントに作成します。

サンプルでは、display_allという名前のyes/no型のCustom stateを追加しました。

続きを見るボタンの表示と文言切り替えをConditionalで設定する

デフォルトでは非表示にしておく

続きを見るボタンは、テキストコンテンツが指定した文字数を超えているときだけ表示させたいので、Conditionalで表示非表示の設定と、さらに全文を表示しているときには「元に戻す」という文言に変更する設定を行います。

Bubbleでは、テキストエレメントの文字数は「:number of characters」で取得できるので、その値を指定の文字数と比較して多い場合にThis element is visibleのチェックを入れることで実装してます。

続きを見るボタンをクリックしたときのワークフローを2通り組む

全文表示タイミングのワークフロー
元に戻すときのワークフロー

テキストコンテンツを折りたたんでいるときに「続きを見る」ボタンをクリックしたときのワークフローと、逆に、全文表示状態のときに「元に戻す」ボタンをクリックしたときのワークフローをそれぞれ組みます。

テキストの文字数表示制限をConditionalで設定する

仕上げです。最後にテキストエレメントのConditonalで文字数制限を設定します。

文字数制限にはBubbleのtruncated toを使います。

使い方は簡単で、対象のデータのあとでtruncated toを選択し、その後に表示最大文字数を数字で入力してあげるだけです。ちなみに、truncateは切り詰めるという意味です。添付画像のように切り詰めたあとに「…」をつけるとより親切だと思います。

最後に、先程作ったCustom stateのdisplay_allがyesのときに、Textに表示する内容を整形前の全文にしてあげれば完成です!

おまけ:デバイス幅によって最大文字数を計算

ここでは細かく解説しませんが、truncated toで指定する文字数をベタ打ちではなく、デバイス幅によって変動させることもできます。少し強引ですが、プラグインのMath.jsを使って添付のように計算することも可能です。このアプローチがベストだとはまだ言えませんが、Bubblerの方の開発の少しでも参考になればと思い共有です!

【日本最大級のノーコード開発実績】
無料でアプリ・システム開発の相談を受付中

    氏名

    法人名

    メールアドレス

    電話番号

    お問い合わせ詳細 ※分かる範囲でご記入ください

    送信ボタンを押すことで、個人情報の取扱いについてに同意したとみなされます

    「勉強になった!」「役に立った!」と思っていただけたら、是非シェアもお願いします!
    目次