欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

React Native的横向滚动列表,实现标签tab定位功能

程序员文章站 2022-06-15 10:02:50
在美团或者大众点评上,我们经常看到那种竖形的滚动列表,左边可以定位右边的内容,右边可以定位左边标签tab。在RN中,我们也想有这种横向的功能,以下介绍一个组件:react-native-horizontal-category-list可以帮我们很方便的实现这个功能。可用属性data:required, 数据源tabStyle:optional tab的基本样式selectedTabTextStyle:optional 选中之后文本的样式selectedBarStyle:optiona...

在美团或者大众点评上,我们经常看到那种竖形的滚动列表,左边可以定位右边的内容,右边可以定位左边标签tab。

在RN中,我们也想有这种横向的功能,以下介绍一个组件:react-native-horizontal-category-list

可以帮我们很方便的实现这个功能。

可用属性

data:required, 数据源
tabStyle:optional tab的基本样式
selectedTabTextStyle:optional 选中之后文本的样式
selectedBarStyle:optional 选中之后移动的条状bar的样式
renderItem: required 渲染Item内容
renderDivider: optional 渲染分界面的divider

使用方法如下:

下载: npm install react-native-horizontal-category-list

引入组件: import { HorizontalSectionList } from "react-native-horizontal-category-list";

简单例子:

const data = [
    {
        label: "你好",
        items: [
            { key: "name" },
            { key: "测试A1" },
            { key: "测试A2" },
            { key: "测试A3" },
            { key: "测试A4" }
        ]
    },
    {
        label: "测试",
        items: [
            { key: "nameB" },
            { key: "测试B" }
        ]
    },
    {
        label: "的分",
        items: [
            { key: "nameC" },
            { key: "测试C" }
        ]
    },
    {
        label: "舒服",
        items: [
            { key: "nameD" },
            { key: "nameD1" },
            { key: "nameD2" },
            { key: "nameD3" },
            { key: "nameD4" },
            { key: "测试D" }
        ]
    }
];

<HorizontalSectionList

data={data}

renderItem={(item) => <View key={"item" + item} style={itemStyle}><Text>{item.key}</Text></View>} />

效果图:

React Native的横向滚动列表,实现标签tab定位功能

定制化样式:

<HorizontalSectionList

data={data}

tabStyle={{ marginLeft: 2, borderWidth: 1, color: "gray", borderBottomWidth: 0, borderColor: "#9c9cA3", borderTopLeftRadius: 4, borderTopRightRadius: 4 }}

selectedTabTextStyle={{ color: "blue" }}

selectedBarStyle={{ width: 10, backgroundColor: "blue" }}

renderItem={(item) => <View key={"item" + item} style={itemStyle}><Text>{item.key}</Text></View>} />

效果:

React Native的横向滚动列表,实现标签tab定位功能


本文地址:https://blog.csdn.net/A_love_B/article/details/107712127