ReactNative: 创建自定义List列表组件
一、介绍
在App中,很多数据消息显示都是一行行动态展示的,例如新闻标题,其实每一条新闻标题都可以独立成一个简单的列表组件,之前我们使用Text组件将数据都写死了,为了提高组件的灵活性,我们可以使用Text组件封装一个列表组件,将标题的数据传入列表组件,其内部展示交给Text组件即可。在上一篇Text组件的基础上,再来实现一个自定义的List列表组件。
二、示例
List.js
//采用ES6类创建组件
import React, { Component } from 'react';
import {
StyleSheet,
View,
Text
} from 'react-native'; export default class List extends Component{ render() {
return (
<View style={styles.list_item}>
<Text style={styles.list_font} numberOfLines={2}>{this.props.title}</Text>
</View>
);
}
} const styles = StyleSheet.create({
flex:{
flex:1
},
list_item: {
height: 50,
marginLeft: 10,
marginRight: 10,
borderBottomWidth: 1,
borderBottomColor: '#ddd',
justifyContent: 'center'
},
list_font: {
fontSize: 16,
fontWeight: 'bold',
lineHeight: 20
}
});
NavHead.js
//采用React.createClass创建组件
const React = require('react');
const ReactNative = require('react-native')
const {
StyleSheet,
View,
Text,
PixelRatio
} = ReactNative; const NavHead = React.createClass({ //打印事件参数
print(e){
console.log(e.nativeEvent)
}, render(){
return (
<View style={styles.parent}>
<View style={styles.flex}>
<Text style={styles.title}>
<Text style={styles.title1} onPress={this.print}>網易</Text>
<Text style={styles.title2}>新闻</Text>
<Text style={styles.pk}> pk </Text>
<Text style={styles.title1}>紟日</Text>
<Text style={styles.title2}>头条</Text>
</Text>
</View>
</View>
)
}
}); const styles = StyleSheet.create({
parent:{
height: 75,
backgroundColor: '#EEE'
},
flex: {
marginTop: 25,
height: 50,
borderBottomWidth: 2/PixelRatio.get(),
borderBottomColor: '#EF2D36',
alignItems: 'center'
},
title: {
fontSize: 25,
fontWeight: 'bold',
textAlign: 'center'
},
pk: {
color: 'green'
},
title1 :{
color: '#CD1D1C'
},
title2: {
color: '#FFFFFF',
backgroundColor: '#CD1D1C'
}
}); module.exports = NavHead;
index.ios.js
/**
* Sample React Native App
* https://github.com/facebook/react-native
* @flow
*/ import React, { Component } from 'react';
import NavHead from './src/NavHead'
import List from './src/List' import {
AppRegistry,
StyleSheet,
View,
} from 'react-native'; export default class ReactNativeDemo extends Component { render() {
return (
<View style={styles.container}>
<NavHead/>
<List title="官方通报:北京本次污染过程以区域传输贡献为主"/>
<List title="中国网络安全产业高峰论坛在京召开 各界共话技术创新"/>
<List title="启动四天多 北京冬奥赛会志愿者报名人数超46万"/>
<List title="京津冀冬季冰雪体验推广活动正式启动"/>
<List title="多地校长、专家在京探讨全息教育"/>
<List title="丰台消防救援支队筑牢辖区冬季火灾防线"/>
</View>
);
}
} const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: 'white'
}
}); AppRegistry.registerComponent('ReactNativeDemo', () => ReactNativeDemo);
三、结果

ReactNative: 创建自定义List列表组件的更多相关文章
- Flutter 实战(一):列表项内容可自定义的列表组件
前言 本篇文的目的是熟练掌握 Flutter 组件的封装,并且使用回调函数实现主要功能. 本组件的设计灵感来源于 Element 组件库的 table 组件. 正题 定义回调函数 在此之前,必须要了解 ...
- React-Native新列表组件FlatList和SectionList学习 | | 联动列表实现
React-Native在0.43推出了两款新的列表组件:FlatList(高性能的简单列表组件)和SectionList(高性能的分组列表组件). 从官方上它们都支持常用的以下功能: 完全跨平台. ...
- HTML5 UI框架Kendo UI Web教程:创建自定义组件(三)
Kendo UI Web包 含数百个创建HTML5 web app的必备元素,包括UI组件.数据源.验证.一个MVVM框架.主题.模板等.在前面的2篇文章<HTML5 Web app开发工具Ke ...
- HTML5 UI框架Kendo UI Web中如何创建自定义组件(二)
在前面的文章<HTML5 UI框架Kendo UI Web自定义组件(一)>中,对在Kendo UI Web中如何创建自定义组件作出了一些基础讲解,下面将继续前面的内容. 使用一个数据源 ...
- sharepoint2010 创建自定义列表
转:http://boke.25k5.com/kan77298.html 如何创建自定义列表 首先了解创建自定义列表中涉及到的几个名词:栏.内容类型. ①栏:栏即列.字段(Field),MSDN中给出 ...
- vue2.0 自定义 折叠列表(Accordion)组件
1.自定义 折叠列表 Accordion.vue (1)sass 版本 <!-- 折叠列表 组件 --> <template> <nav :class="$ ...
- Vue slot 插槽用法:自定义列表组件
Vue 框架的插槽(slot)功能相对于常用的 v-for, v-if 等指令使用频率少得多,但在实现可复用的自定义组件时十分有用.例如,如果经常使用前端组件库的话,就会经常看到类似的用法: < ...
- 创建自定义 jQuery 移动主题
自定义页面.工具栏.内容.表单元素.列表.按钮等元素的外观 智能电话和平板设备的高采用率最终导致增加了对移动 Web 开发人员和设计师的需求.jQuery Mobile 框架支持您创建能与原生应用程序 ...
- 【UiPath 中文教程】02 - 创建自定义 Activity
在 UiPath Studio 中,活动 (Activity) 是流程自动化的基石,是构成自动化程序的最小模块.它们被包含在一个个 NuGet 包中. UiPath Studio 中有 3 类包: 官 ...
随机推荐
- 【JS】403- JavaScript 工具函数大全(新)
前言 一线大厂笔试题灵感来源 目录: 第一部分:数组 第二部分:函数 第三部分:字符串 第四部分:对象 第五部分:数字 第六部分:浏览器操作及其它 筛选自以下两篇文章: <127 Helpful ...
- 解决老浏览器不支持ES6的方法
转载地址:http://www.rockyxia.com/?p=669 为什么ES6会有兼容性问题? 由于广大用户使用的浏览器版本在发布的时候也许早于ES6的定稿和发布,而到了今天,我们在编程中如果使 ...
- .NET Core的响应式框架,基于Ace Admin框架菜单导航,Bootstrap布局,fontAwesome图标,内嵌Iframe用EasyUI做数据绑定,动态配置列表,动态配置表单
netnrf 响应式框架 用于快速开发的响应式框架 演示:https://rf2.netnr.com v3.x 前端采用 jQuery + Bootstrap + EasyUI + AceAdmin ...
- 通过url返回的状态来抢注好的用户名
之前在注册很多网站时都想取一个好的用户名,但是不知道那些被注册了没有,通常时一个一个测试,但是很慢当时就想过这个思路,由于懒并没有去搞 主要思路就是:很多网站的用户主页的Url都存在用户名,替换为自己 ...
- 云服务器配置 docker java mysql mongodb redis nginx 环境
磁盘挂载 fdisk -l #查看磁盘列表 mkfs.ext4 /dev/vdb #格式化磁盘 mount /dev/vdb /data #挂载磁盘在/data echo '/dev/vdb /dat ...
- python子类如何继承父类的实例变量?
类型1:父类和子类的实例变量均不需要传递 class A(object): def __init__(self): self.name = "cui" def get_name(s ...
- vue项目简单菜单排序
功能:拖拉后,数据重组,然后返回数组给后台处理 代码如下: <template> <el-dialog title="菜单排序" :close-on-click- ...
- ElasticSearch 时间格式
"datetime": { "type": "date", "format": "yyyy-MM-dd HH: ...
- 魔术师发牌问题 -- python实现
问题描述 魔术师手中有A.2.3--J.Q.K十三张黑桃扑克牌.在表演魔术前,魔术师已经将他们按照一定的顺序叠放好(有花色的一面朝下).魔术表演过程为:一开始,魔术师数1,然后把最上面的那张牌翻过来, ...
- AE单词备忘
类的基本特性内 approved 已批准 implemented 已实施 mandatory 强制性的 proposed 偍仪的 validated 已验证