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

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

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

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

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

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

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

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

目次

日本最大級のノーコード開発実績!
 \ 最安30万円・最短2週間でアプリ・システム開発 /

もっと知る →

実装イメージ

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の方の開発の少しでも参考になればと思い共有です!

日本最大級のノーコード開発実績!ノーコードなら迷わずEPICs

EPICsはノーコードでの開発に特化をしたプロの開発組織です。

従来のスクラッチでの開発でよく発生する「費用が高い」 「開発期間が長い」 「知識がなく開発に踏み切れない」という課題に対し、ノーコードでの開発という選択肢で皆様の開発を支援します!

そんな弊社に開発相談をいただくメリットは大きく4つあります!

①豊富な開発実績
創業よりノーコード開発を軸に多様な開発を行ってまいりました。SNSやマッチングアプリ、ECアプリなど多様な開発実績がございます。
豊富な経験をもとに、ただ開発を行うにとどまらず、より良い開発を行うためのアドレスや公開後のご不安やご相談にも対応させていただきます!

②最安30万円!通常の1/10~1/5ほどの低コストで開発
コーディングの工程を削減できるノーコードは、最適かつ最小限の人員で対応が可能です。また弊社では豊富な開発実績があるため、経験を活かした開発を行うことで開発費用を大幅に削減することができます。

③最短2週間!圧倒的な短期間で納品
ノーコード開発では複雑なコードを1から書く必要がないため開発工程を省略することができ、開発期間の大幅な短縮が可能です。

④公開後の保守や運用の徹底サポート
アプリは開発後の運用もとても重要です。EPICsでは開発のみならずその後のサポートも対応可能です!
またノーコードで開発したアプリは、スクラッチで開発したアプリに比べて保守や運用にかかる費用を削減することも可能です!

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