基本的にすべてのeコマースプロジェクトにはショッピングカートの機能があります。これはreact-nativeに関する記事です。ネイティブAndroidについては長い間書いていませんでした。ネイティブ ショッピング カートを作成していたとき、製品に関する本質を問うような疑問に遭遇したのを覚えています。スワイプして削除する機能は iOS では可能なのに、Android では実装が難しいのはなぜでしょうか?この時、WeChatを開いてみると、Android版のWeChatも長押しで操作しているのに対し、iOS版はスライド操作で操作しており、2つのプラットフォームのシステムインタラクション操作が異なっていることがわかりました。もちろん、結局私は、スライド削除を実行するために、さまざまなサードパーティライブラリを静かに探し続けました。 rnのプロジェクトは、リストスライド操作用のインターネット上で見つかったサードパーティのライブラリでもあります。githubアドレス react-native-swipe-list-view 最も基本的な使用法はflatListに似ており、データ属性は配列データソースで、renderItemはデータからデータを1つずつ取得し、リストにレンダリングします。 <スワイプリストビュー データ={this.state.listViewData} レンダリングアイテム = {this.renderItem} keyExtractor={this.keyExtractor} /> このとき、通常の flatList エフェクトと同様に、左または右にスライドすることはできません。左右へのスライドを有効にするには、renderHiddenItem 属性を追加します。 renderHiddenItem は、非表示のコンテンツをレンダリングします。非表示のコンテンツの位置は、フレックス レイアウトによって制御されます。次の例では、水平レイアウトを使用し、space-between を通じて左側と右側のコンテンツを制御し、左または右にスライドすると非表示のコンテンツが表示されるようにしています。 //これは左右にスライドできます renderHiddenItem = (data, rowMap) => { 戻る <View style={{ フレックス: 1, flexDirection: '行'、 justifyContent: 'スペースの間' }}> <Text>左</Text> <Text>右</Text> </表示> } 左にスワイプできるだけで十分であり、justifyContent: 'flex-end' プロパティを使用して削除ボタンのコンテンツを右端に配置し、SwipeListView プロパティのdisableRightSwipe を設定して右スワイプ操作を禁止します。 renderHiddenItem = (データ、行マップ) => { 戻る <View style={{ フレックス: 1, flexDirection: '行'、 justifyContent: 'flex-end'、 }}> <TouchableOpacity スタイル={{ 背景色: '#FF496C', 幅: 80, justifyContent: 'center'、 alignItems: 'center' }}> <Text style={{color:'#fff'}}>削除</Text> </タッチ可能な不透明度> </表示> } この時、左にスワイプすると右側に削除ボタンが表示されるのが分かりますが、常に開いた状態になるわけではありません。開いた状態にするには rightOpenValue={-80} 属性も追加する必要があります。 <スワイプリストビュー 右スワイプを無効にする データ={this.state.listViewData} レンダリングアイテム = {this.renderItem} keyExtractor={this.keyExtractor} renderHiddenItem={this.renderHiddenItem} 右オープン値={-80} /> もう一つ注意すべき点は、renderItem がリストをレンダリングしているとき、公式の推奨では、<View/> ではなく、クリック可能でタッチに反応するビューを最外層に使用することです。通常、ビューが開かれているときに別のビューをクリックすると、開かれている項目はデフォルトで閉じられます。最外層が <View/> の場合、この効果は発生しません。 // 最も外側のレイヤーは TouchableHighlight です レンダリングアイテム = ({item, index}, rowMap) => { 戻り値 <TouchableHighlight 押すと{() => { }} アンダーレイカラー={'#fff'}> ... </タッチ可能なハイライト> } この時点で、スライドして削除する効果は基本的に満たされています。 後続は、追加および削除操作のためのビジネス ロジックとデータ ソース更新ページです。 これで、ショッピングカートのスライド削除効果を実装するための react-native のサンプルコードに関するこの記事は終了です。さらに関連する react-native スライド削除コンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM を応援してください。 以下もご興味があるかもしれません:
|
<<: vue 要素 el-transfer にドラッグ機能を追加
>>: Angularが予期しない例外エラーを処理する方法の詳細な説明
以下のコードをDreamweaverのコードエリアにコピーすると、プレビュー時に以下の画像が表示され...
最近、分散型およびビッグデータ技術について学ぶために、いくつかの仮想マシンに取り組んでいます。まず、...
ここ数日、ウェブサイトを初めて開いたときにアクセスが非常に遅いのですが、その後はページが正常に開きま...
注意: この方法は、Webkit ベースのブラウザにのみ適用されます。ブラウザのスクロールバーが広す...
いくつかの Qt インターフェース プログラムを作成しましたが、Qt 環境がインストールされていない...
私は最近、多くの音楽に特化した Linux ディストリビューションの 1 つである Audiovis...
Linuxファイアウォールの状態を確認する方法1. 基本操作 # ファイアウォールのステータスを表示...
トリガー メソッドを使用できます。JavaScript にはネイティブのトリガー関数はありません。自...
目次1. Redisイメージを取得する2. 6つのRedisコンテナを作成する3. Redisコンテ...
Kubernetes は、基本認証、トークン認証、CA 認証の 3 種類の認証をサポートしています。...
パッシブチェックパッシブ ヘルス チェックでは、NGINX と NGINX Plus はイベントの発...
今日は、CSS を使用して左上の三角形を記述するいくつかの方法を紹介します。概略図(幅と高さを60p...
みなさんこんにちは。今日はカルーセルの実装についてお話しします。私が作成したカルーセルの効果は次のと...
目次DockerのインストールNvidia-docker のインストールDockerのインストール1...
序文: Linux ホストは、エージェント プログラムをインストールする場合でも、SNMP を使用す...