首页前端开发JavaScriptreact-native 实现购物车滑动删除效果的示例代码

react-native 实现购物车滑动删除效果的示例代码

时间2024-01-31 14:56:03发布访客分类JavaScript浏览479
导读:收集整理的这篇文章主要介绍了react-native 实现购物车滑动删除效果的示例代码,觉得挺不错的,现在分享给大家,也给大家做个参考。 购物车的功能基本上电商项目都会有的,这是一篇关于...
收集整理的这篇文章主要介绍了react-native 实现购物车滑动删除效果的示例代码,觉得挺不错的,现在分享给大家,也给大家做个参考。

购物车的功能基本上电商项目都会有的,这是一篇关于react-native的,原生andROId的已经好久没写了。记得以前写原生购物车的时候,遇到过产品的灵魂质问,为啥iOS的滑动删除可以,android却那么难实现的。这个时候,我就打开微信说,android的微信版也是长按进行操作,iOS的是滑动操作的,两个平台自带的系统交互操作是不一样的。当然,最后还是默默的找各种三方库去进行滑动删除。

rn的项目也是找的网上的一个三方库进行列表滑动操作的,gIThub地址react-native-swipe-list-view

最基本的使用方法和flatList差不多,data 属性数组数据源,renderItem 从data中挨个取出数据并渲染到列表中

SwiPEListView  data={
this.state.listViewData}
  renderItem={
this.renderItem}
  keyExtractor={
this.keyExtractor}
    />
    

这时候是不可以左右滑动的,就跟普通的flatList效果一样。加上renderHiddenItem属性,可以左右滑动。renderHiddenItem渲染的就是隐藏的内容,隐藏的内容位置是通过flex布局来控制,下面这个例子使用横向布局,通过space-between将内容控制在左右两边,形成了左右滑动时出现隐藏内容。

//这是左右都可以滑动的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来禁止右滑操作。

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} 属性,使其处于打开状态。

SwipeListView  disableRightSwipe  data={
this.state.listViewData}
  renderItem={
this.renderItem}
  keyExtractor={
this.keyExtractor}
  renderHiddenItem={
this.renderHiddenItem}
  rightOpenValue={
-80}
    />
    

另外有一个需要注意的是,renderItem进行列表渲染时,最外层的视图,官方推荐使用可点击响应触摸的,而不是View/> ,正常情况是,打开了一个视图,点其他视图,默认会关闭打开的那一项,如果最外层是View/> 则不会有这种效果。

//最外层是 TouchableHighlightrenderItem = ({
item, index}
    , rowMap) =>
 {
  return TouchableHighlight    onPress={
    () =>
 {
    }
}
    underlayColor={
'#fff'}
    >
        ...  /TouchableHighlight>
}
    

至此,滑动删除的效果已经基本满足了,后续就是业务逻辑,增删操作数据源刷新页面了。

到此这篇关于react-native 实现购物车滑动删除效果的示例代码的文章就介绍到这了,更多相关react-native 滑动删除内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

您可能感兴趣的文章:
  • react-native滑动吸顶效果的实现过程
  • react的滑动图片验证码组件的示例代码
  • React实现双滑块交叉滑动

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

react-native

若转载请注明出处: react-native 实现购物车滑动删除效果的示例代码
本文地址: https://pptw.com/jishu/594108.html
c语言统计字符串中各个字符的个数 c语言实现阶乘的方法

游客 回复需填写必要信息