切り詰められたウォーターフォール フロー コンポーネントをミニ プログラムに実装するにはどうすればよいですか?以下の記事では、ウォーターフォールフローの要素をカットできるWeChatアプレットの実装方法を紹介しますので、ご参考になれば幸いです。
ウォーターフォールフローは一般的なレイアウト手法ですが、直接2列に分割し、左側の要素の追加を制御するなど、実装方法はさまざまです。と右側の列; 絶対配置によって両側を配置する別の方法もあります。 [関連する学習の推奨事項: 小さなプログラム開発チュートリアル ]
この記事で紹介するウォーターフォール フローは、従来のものとは異なります。これは、ウォーターフォール フローが途中で切れている場合があるためです。
1 2 3 4 5 6 7 8 9 10 |
|
container コンテナで、配列をループし、多数のレンダリングを行います。
水平ラッパー コンテナー。
wrapper コンテナは、絶対的に配置されたラッピング要素です。
wrapper コンテナは、実際にレンダリングする必要があるコンポーネントを配置する必要があります。より柔軟にするために、 render this コンポーネントを仮想ノードとして設定し、コンポーネントを使用する際に実際にレンダリングするカスタムコンポーネントを指定できます。
wrapper 要素は絶対位置に配置されているため、
container コンテナ全体の高さを手動で維持する必要があります。
computed-zone は、この問題を解決するためのものです。要素を配列に配置する前に、まず
computed-zone で要素をレンダリングし、次に WXML API を使用して取得します要素の実際のレンダリング サイズ。これにより、この要素の実際にレンダリングされた幅と高さを知ることができます。
wrapper
を行全体の幅に設定する必要があります。1 の条件を満たさない場合は、左右の要素の高さの合計に基づいて、wrapper
を左右に配置する必要があります。
分析後、少し書く必要があるのは、wrapper
のオフセットを計算し、それを左に配置するか右に配置するか、またはどちらに配置するかを決定することです。行全体を占めます。コア コードは次のように実装されます:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 |
|
ちなみに、キューを実装したので、直接ループ追加するだけです。ステータスが気になる場合は、最後の要素の追加操作が完了したかどうかだけを判断してください。 この方法で実現されるウォーターフォール フローは比較的柔軟ですが、パフォーマンスの消費は低くありません。要素の実際のレンダリング サイズを 1 つずつ取得する必要があります。ウィンドウのサイズ変更をサポートしたい場合は、 、消耗がひどいです。
コードの詳細を確認する必要がある学生のために、Github
および
に実際のデモを置きました。試す。
上記のモデルに基づいて、実際に可視領域内の要素のみをレンダリングするように最適化することができ、これによりウォーターフォール フローのパフォーマンスが大幅に向上します。時間のある学生が改善できることを願っています。気に入ってください~o ( ̄▽ ̄)dプログラミング関連の知識については、プログラミング ビデオをご覧ください。 !
以上が小さなプログラムで切り詰められたウォーターフォール フロー コンポーネントを実装する方法について話しましょうの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。