一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

node.js|vue.js|jquery|angularjs|React|json|js教程|

服務器之家 - 編程語言 - JavaScript - React - react-native 實現購物車滑動刪除效果的示例代碼

react-native 實現購物車滑動刪除效果的示例代碼

2021-12-31 16:50程序猿tx React

這篇文章主要介紹了react-native 實現購物車滑動刪除效果的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

購物車的功能基本上電商項目都會有的,這是一篇關于react-native的,原生android的已經好久沒寫了。記得以前寫原生購物車的時候,遇到過產品的靈魂質問,為啥iOS的滑動刪除可以,android卻那么難實現的。這個時候,我就打開微信說,android的微信版也是長按進行操作,iOS的是滑動操作的,兩個平臺自帶的系統交互操作是不一樣的。當然,最后還是默默的找各種三方庫去進行滑動刪除。

rn的項目也是找的網上的一個三方庫進行列表滑動操作的,github地址react-native-swipe-list-view

最基本的使用方法和flatList差不多,data 屬性數組數據源,renderItem 從data中挨個取出數據并渲染到列表中

?
1
2
3
4
5
<SwipeListView
  data={this.state.listViewData}
  renderItem={this.renderItem}
  keyExtractor={this.keyExtractor}
/>

這時候是不可以左右滑動的,就跟普通的flatList效果一樣。加上renderHiddenItem屬性,可以左右滑動。renderHiddenItem渲染的就是隱藏的內容,隱藏的內容位置是通過flex布局來控制,下面這個例子使用橫向布局,通過space-between將內容控制在左右兩邊,形成了左右滑動時出現隱藏內容。

?
1
2
3
4
5
6
7
8
9
10
11
//這是左右都可以滑動的
renderHiddenItem = (data, rowMap) => {
  return <View style={{
    flex: 1,
    flexDirection: 'row',
    justifyContent: 'space-between'
  }}>
    <Text>Left</Text>
    <Text>Right</Text>
  </View>
}

我們這邊只需要可以左滑,通過justifyContent: 'flex-end'屬性將刪除按鈕內容置于最右邊,同時設置SwipeListView的屬性disableRightSwipe來禁止右滑操作。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
renderHiddenItem = (data, rowMap) => {
  return <View style={{
    flex: 1,
    flexDirection: 'row',
    justifyContent: 'flex-end',
  }}>
    <TouchableOpacity style={{
      backgroundColor: '#FF496C',
      width: 80,
      justifyContent: 'center',
      alignItems: 'center'
    }}>
      <Text style={{color:'#fff'}}>刪除</Text>
    </TouchableOpacity>
  </View>
}

這個時候向左滑,可以看到右邊的刪除按鈕出來了,但是沒有一直處于打開狀態,還需要添加rightOpenValue={-80}屬性,使其處于打開狀態。

?
1
2
3
4
5
6
7
8
<SwipeListView
  disableRightSwipe
  data={this.state.listViewData}
  renderItem={this.renderItem}
  keyExtractor={this.keyExtractor}
  renderHiddenItem={this.renderHiddenItem}
  rightOpenValue={-80}
/>

另外有一個需要注意的是,renderItem進行列表渲染時,最外層的視圖,官方推薦使用可點擊響應觸摸的,而不是<View/>,正常情況是,打開了一個視圖,點其他視圖,默認會關閉打開的那一項,如果最外層是<View/>則不會有這種效果。

?
1
2
3
4
5
6
7
8
9
//最外層是 TouchableHighlight
renderItem = ({item, index}, rowMap) => {
  return <TouchableHighlight
    onPress={() => {
    }}
    underlayColor={'#fff'}>
    ...
  </TouchableHighlight>
}

至此,滑動刪除的效果已經基本滿足了,后續就是業務邏輯,增刪操作數據源刷新頁面了。

react-native 實現購物車滑動刪除效果的示例代碼

到此這篇關于react-native 實現購物車滑動刪除效果的示例代碼的文章就介紹到這了,更多相關react-native 滑動刪除內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://juejin.cn/post/6917609565685055502

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 好大好爽好舒服视频 | 2022天堂岛日产 | 国产一区二区三区水野朝阳 | 欧美坐爱 | 国产精品一区二区不卡的视频 | 国产成人精品一区二三区在线观看 | 热伊人99re久久精品最新地 | 无码人妻少妇色欲AV一区二区 | 天堂网在线.www天堂在线视频 | 国产在线播放一区 | 亚洲 欧美 在线观看 | 2022国产麻豆剧传媒古装 | 国产精品天天在线 | 国产高清在线精品一区二区三区 | 16男男gaygays | 极品丝袜老师h系列全文阅读 | 99在线精品视频 | 久青草国产在线观看视频 | 高清国产精品久久久久 | 国产探花在线观看 | 日产欧产va1| 嗯啊视频在线观看 | www国产精品 | 女上男下gifxxoo动态视频 | 我与恶魔的h生活ova | 无码人妻少妇色欲AV一区二区 | 亚洲国产精品自在在线观看 | 欧美日韩国产中文字幕 | a男人的天堂久久a毛片 | 黑人与老女人做受 | 三级全黄裸体 | 激情综合| 亚洲麻豆精品果冻传媒 | h高潮娇喘抽搐 | 国产99久久精品 | 深夜在线网站 | 99精品国产成人a∨免费看 | 双性总裁(h) | 国产精品日韩在线观看 | 国产一区二区三区高清视频 | 高清毛片一区二区三区 |