UNPKG

rn_supermap

Version:

rn_supermap 一款基于React-Native框架的移动应用开发工具。基于该开发工具,用户可以使用JavaScript开发语言,开发出在Android和IOS操作系统下运行的原生移动GIS应用,入门门槛低,一次开发,处处运行。

94 lines (82 loc) 2.2 kB
/********************************************************************************* Copyright © SuperMap. All rights reserved. Author: Zihao Wang E-mail: pridehao@gmail.com Description:maplist控件。 **********************************************************************************/ import React, { Component } from 'react'; import { StyleSheet, Text, View, Dimensions, Image, FlatList, PixelRatio, } from 'react-native'; //imobile类引入 import workspaceModule from '../Workspace.js'; import dataSources from '../Datasources.js'; import dataSource from '../Datasource.js'; import dataSet from '../Dataset.js'; export default class InnerListComponent extends Component { constructor(props){ super(props); this.state = { data: false, }; var dataArr = []; var workspace = props.workspace; (async function ( ) { var maps = await workspace.getMaps(); var mapcount = await maps.getCount(); for(var i=0;i<=mapcount-1;i++){ var mapname = await maps.get(i); var dataItem = {key:'_SMMap'+i,Text:mapname,Image:require('../resource/map_1.png')}; dataArr.push(dataItem); } this.setState({ data: dataArr, }); }).bind(this)(); } //item渲染方法 _renderItem=({item})=>( <View style={styles.itemContainer}> <Image style={styles.itemImage} source={item.Image}/> <Text style={styles.itemText}>{item.Text}</Text> </View> ); //分割线组件 _separator=()=>{ return <View style={{height:1 / PixelRatio.get(),backgroundColor: '#bbbbbb',marginLeft: 15,}}/> } render() { return ( <FlatList data={this.state.data} renderItem={this._renderItem} ItemSeparatorComponent={this._separator}/> ); } } const styles = StyleSheet.create({ itemContainer: { display: 'flex', flexDirection: 'row', justifyContent: 'flex-start', width: Dimensions.get('window').width, height: 50, }, itemImage: { width:35, height:40, marginTop:5, marginBottom:5, marginLeft:25, backgroundColor:'transparent', }, itemText: { marginLeft:10, lineHeight:50, } });