order.js 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. /*
  2. *
  3. */
  4. import React, { Component } from "react";
  5. import {
  6. Platform,
  7. StyleSheet,
  8. Text,
  9. View,
  10. Image,
  11. TouchableOpacity,
  12. FlatList,
  13. TouchableHighlight,
  14. DeviceEventEmitter,
  15. ScrollView
  16. } from "react-native";
  17. import BasePage from "../BasePage";
  18. import Dimensions from '../utils/dimensions';
  19. import TopicTitle from '../components/TopicTitle';
  20. export default class Order extends BasePage {
  21. state = {
  22. data: {
  23. title: '学前课程', list: [
  24. { title: '生活好榜样', time: '2019-10-01' },
  25. { title: '生活好榜样2', time: '2019-10-01' },
  26. { title: '生活好榜样3', time: '2019-10-01' },
  27. { title: '生活好榜样第二期', time: '2019-10-01' },
  28. ]
  29. }
  30. };
  31. renderItem = (item, index) => {
  32. return (
  33. <View>
  34. {
  35. index === 0
  36. ?
  37. <TopicTitle title={this.state.data.title} ifTubeShow={true} />
  38. :
  39. null
  40. }
  41. <View style={styles.item}>
  42. <View style={styles.left}>
  43. <Text style={styles.title}>{item.title}</Text>
  44. <Text style={styles.time}>有效期:{item.time}</Text>
  45. </View>
  46. <View style={styles.right}>
  47. <Text style={styles.study}>去学习</Text>
  48. </View>
  49. </View>
  50. </View>
  51. )
  52. }
  53. render() {
  54. return (
  55. <FlatList
  56. data={this.state.data.list}
  57. horizontal={false}
  58. renderItem={({ item, index }) => this.renderItem(item, index)}
  59. keyExtractor={(item, index) => index.toString()}
  60. />
  61. )
  62. }
  63. }
  64. const styles = StyleSheet.create({
  65. item: {
  66. width: Dimensions.width,
  67. height: Dimensions.getHeight(79),
  68. flexDirection: 'row',
  69. justifyContent: 'space-between',
  70. alignItems: 'center',
  71. paddingHorizontal: 14,
  72. borderTopWidth: 1,
  73. borderColor: '#f0f1f5'
  74. },
  75. left: {
  76. flexDirection: 'column'
  77. },
  78. title: {
  79. fontSize: 18,
  80. color: '#151515'
  81. },
  82. time: {
  83. fontSize: 14,
  84. color: '#555'
  85. },
  86. right: {
  87. width: Dimensions.getWidth(83),
  88. height: Dimensions.getHeight(27),
  89. borderRadius: 14,
  90. backgroundColor: '#ffae59',
  91. justifyContent: 'center',
  92. alignItems: 'center'
  93. },
  94. study: {
  95. color: '#fff',
  96. fontSize: 16
  97. }
  98. })