nuke-list-view
Advanced tools
Comparing version 0.2.11 to 1.0.0
@@ -10,5 +10,4 @@ # ListView demo | ||
````js | ||
/** @jsx createElement */ | ||
import {createElement, Component,render} from 'rax'; | ||
import { createElement, PureComponent, Component, render } from 'rax'; | ||
import View from 'nuke-view'; | ||
@@ -18,265 +17,149 @@ import Text from 'nuke-text'; | ||
import Touchable from 'nuke-touchable'; | ||
import Icon from 'nuke-icon'; | ||
import Image from 'nuke-image'; | ||
import Button from "nuke-button"; | ||
import ListView from 'nuke-list-view'; | ||
import Modal from "nuke-modal"; | ||
import Page from 'nuke-page'; | ||
let originalData = [ | ||
{key: 'b0',text:'所有类别',icon:'//img.alicdn.com/tfs/TB1W.9QPVXXXXbBXVXXXXXXXXXX-36-36.png'}, | ||
{key: 'b1',text:'所有类别',icon:'//img.alicdn.com/tfs/TB1W.9QPVXXXXbBXVXXXXXXXXXX-36-36.png'}, | ||
{key: 'b2',text:'所有类别',icon:'//img.alicdn.com/tfs/TB1W.9QPVXXXXbBXVXXXXXXXXXX-36-36.png'}, | ||
{key: 'b3',text:'所有类别',icon:'//img.alicdn.com/tfs/TB1W.9QPVXXXXbBXVXXXXXXXXXX-36-36.png'}, | ||
{key: 'b4',text:'所有类别',icon:'//img.alicdn.com/tfs/TB1W.9QPVXXXXbBXVXXXXXXXXXX-36-36.png'}, | ||
{key: 'b5',text:'所有类别',icon:'//img.alicdn.com/tfs/TB1W.9QPVXXXXbBXVXXXXXXXXXX-36-36.png'} | ||
] | ||
const originalData = []; | ||
for (let i = 0; i < 20; i++) { | ||
originalData.push({ id: i, text: '列表项' }); | ||
} | ||
class ListItem extends PureComponent { | ||
render() { | ||
const { id, text, onPress } = this.props; | ||
return ( | ||
<Touchable | ||
id={`cell_${id}`} | ||
style={styles.cellItem} | ||
onPress={() => { | ||
onPress(id); | ||
}} | ||
> | ||
<Text style={styles.itemTextList}>{text}-{id}</Text> | ||
</Touchable> | ||
); | ||
} | ||
} | ||
class ListViewDemo extends Component { | ||
constructor() { | ||
super(); | ||
this.state = { | ||
list1:{ | ||
data: [...originalData], | ||
isRefreshing: false, | ||
showLoading:true, | ||
refreshText: '↓ 下拉刷新', | ||
}, | ||
list2:{ | ||
data: [...originalData], | ||
isRefreshing: false, | ||
showLoading:true, | ||
refreshText: '↓ 下拉刷新', | ||
} | ||
}; | ||
this.index = 0; | ||
this.index2 = 0; | ||
constructor() { | ||
super(); | ||
this.state = { | ||
data: [...originalData], | ||
isRefreshing: false, | ||
showLoading: true, | ||
refreshText: '↓ 下拉刷新', | ||
}; | ||
this.onRefresh = this.onRefresh.bind(this); | ||
this.renderItem = this.renderItem.bind(this); | ||
this.onLoadMore = this.onLoadMore.bind(this); | ||
this.renderHeader = this.renderHeader.bind(this); | ||
this.renderFooter = this.renderFooter.bind(this); | ||
} | ||
} | ||
setListState(list,data){ | ||
let newState = Object.assign(this.state[list],data); | ||
this.setState(newState); | ||
} | ||
linkTo(item,e) { | ||
console.log(e); | ||
} | ||
renderInner(length , item, index){ | ||
const wrapStyle = index === length - 1 ? [styles.cellItem,styles.cellItemLast] : styles.cellInner; | ||
return ( | ||
<Touchable style={wrapStyle} onPress={this.linkTo.bind(this,item)}> | ||
{ | ||
item.icon ? <Image style={styles.icon} source={{uri:item.icon}}></Image> : null | ||
} | ||
<Text style={styles.itemTextList}>{item.text}</Text> | ||
{ | ||
item.sub ? <Text style={styles.sub}>{item.sub}</Text> : null | ||
} | ||
{ | ||
item.arrow ? <Icon name="arrowRight" style={styles.arrow}></Icon> : null | ||
} | ||
</Touchable> | ||
); | ||
} | ||
renderItem(length , item, index){ | ||
if(index == length - 1){ | ||
return this.renderInner(length, item, index); | ||
}else{ | ||
return (<View style={styles.cellItem}> | ||
{this.renderInner(length, item, index)} | ||
</View> | ||
); | ||
} | ||
} | ||
handleRefreshList1(e) { | ||
var self = this; | ||
self.setListState('list1',{ | ||
isRefreshing: true, | ||
refreshText: '加载中', | ||
}); | ||
setTimeout(() => { | ||
self.setListState('list1',{ | ||
isRefreshing: false, | ||
data: [...originalData], | ||
refreshText: '↓ 下拉刷新', | ||
}); | ||
onItemPress(index) { | ||
console.log(`clicked ${index}`); | ||
} | ||
onRefresh(e) { | ||
this.setState({ | ||
isRefreshing: true, | ||
refreshText: '加载中', | ||
}); | ||
setTimeout(() => { | ||
this.setState({ | ||
isRefreshing: false, | ||
data: [...originalData], | ||
refreshText: '↓ 下拉刷新', | ||
}); | ||
}, 1000); | ||
} | ||
}, 1000); | ||
} | ||
handleLoadMoreList1=()=>{ | ||
var self = this; | ||
setTimeout(function() { | ||
// 这里进行异步操作 | ||
self.state.list1.data.push({key: 'b100',text:'新数据',icon:'//img.alicdn.com/tfs/TB1W.9QPVXXXXbBXVXXXXXXXXXX-36-36.png'}); | ||
self.setListState('list1',self.state.list1); | ||
}, 1000); | ||
} | ||
headerList1=()=>{ | ||
return <RefreshControl style={styles.refresh} refreshing={this.state.list1.isRefreshing} onRefresh={this.handleRefreshList1.bind(this)}><Text style={styles.loadingText}>{this.state.list1.refreshText}</Text></RefreshControl>; | ||
} | ||
footerList1=()=>{ | ||
return this.state.list1.showLoading ? | ||
<View style={[styles.loading]}><Text style={styles.loadingText}>加载中...</Text></View> | ||
:null | ||
} | ||
headerList2=()=>{ | ||
return <RefreshControl style={styles.refresh} refreshing={this.state.list2.isRefreshing} onRefresh={this.handleRefreshList2.bind(this)}><Text style={styles.loadingText}>{this.state.list2.refreshText}</Text></RefreshControl>; | ||
} | ||
footerList2=()=>{ | ||
return this.state.list2.showLoading ? | ||
<View style={[styles.loading]}><Text style={styles.loadingText}>加载中...</Text></View> | ||
:null | ||
} | ||
handleRefreshList2=()=>{ | ||
var self = this; | ||
self.setListState('list2',{ | ||
isRefreshing: true, | ||
refreshText: '加载中', | ||
}); | ||
setTimeout(() => { | ||
self.index2 = 0; | ||
self.setListState('list2',{ | ||
isRefreshing: false, | ||
data: [...originalData], | ||
refreshText: '↓ 下拉刷新', | ||
}); | ||
}, 1000); | ||
} | ||
handleLoadMoreList2=()=> { | ||
var self = this; | ||
if (self.index2 == 1) { | ||
setTimeout(function() { | ||
// 这里进行异步操作 但数据没有新增(或减少) | ||
self.setListState('list2',{ showLoading : false }) | ||
Modal.toast('没有更多了'); | ||
}, 1000); | ||
}else{ | ||
setTimeout(function() { | ||
//数据增加一次 | ||
self.state.list2.data.push({key: 'c100',text:'新数据cc',icon:'//img.alicdn.com/tfs/TB1W.9QPVXXXXbBXVXXXXXXXXXX-36-36.png'}); | ||
self.setListState('list2',self.state.list2); | ||
self.index2 ++; | ||
}, 1000); | ||
} | ||
} | ||
headerList2=()=>{ | ||
return <RefreshControl style={styles.refresh} refreshing={this.state.list2.isRefreshing} onRefresh={this.handleRefreshList2}><Text style={styles.loadingText}>{this.state.list2.refreshText}</Text></RefreshControl>; | ||
} | ||
footerList2=()=>{ | ||
return this.state.list2.showLoading ? | ||
<View style={[styles.loading]}><Text style={styles.loadingText}>加载中...</Text></View> | ||
:null | ||
} | ||
scroll=()=>{ | ||
this.refs.list2.scrollTo({ x : 0 ,y : 20 }) | ||
} | ||
reset = ()=>{ | ||
this.refs.list2.resetLoadmore(); | ||
Modal.toast('reset loadmore success'); | ||
} | ||
render(){ | ||
return ( | ||
<Page title="ListView"> | ||
<Page.Intro main="无限下拉"></Page.Intro> | ||
<ListView | ||
renderHeader={this.headerList1} | ||
renderFooter={this.footerList1} | ||
renderRow={this.renderItem.bind(this,this.state.list1.data.length)} | ||
dataSource={this.state.list1.data} | ||
style={styles.listContainer} | ||
onEndReached={this.handleLoadMoreList1} | ||
/> | ||
<Page.Intro main="resetLoadmore"></Page.Intro> | ||
<ListView ref="list2" | ||
renderHeader={this.headerList2} | ||
renderFooter={this.footerList2} | ||
renderRow={this.renderItem.bind(this,this.state.list2.data.length)} | ||
dataSource={this.state.list2.data} | ||
style={styles.listContainer} | ||
onEndReached={this.handleLoadMoreList2} | ||
/> | ||
<Button.Group style={{marginTop:'30rem'}}> | ||
<Button type="primary" onPress={this.scroll}>滑动到20rem 位置</Button> | ||
<Button type="primary" onPress={this.reset}>reset loadMore</Button> | ||
</Button.Group> | ||
</Page> | ||
) | ||
} | ||
onLoadMore() { | ||
// 模拟网络加载 | ||
setTimeout(() => { | ||
this.state.data.push({ | ||
id: 'b100', | ||
text: '新数据', | ||
}); | ||
this.setState({ | ||
data: this.state.data, | ||
}); | ||
}, 300); | ||
} | ||
renderHeader() { | ||
return ( | ||
<RefreshControl | ||
style={styles.refresh} | ||
refreshing={this.state.isRefreshing} | ||
onRefresh={this.onRefresh} | ||
> | ||
<Text style={styles.loadingText}>{this.state.refreshText}</Text> | ||
</RefreshControl> | ||
); | ||
} | ||
renderItem(item, index) { | ||
return ( | ||
<ListItem id={item.id} text={item.text} onPress={this.onItemPress} /> | ||
); | ||
} | ||
renderFooter() { | ||
this.state.showLoading ? ( | ||
<View style={[styles.loading]}> | ||
<Text style={styles.loadingText}>加载中...</Text> | ||
</View> | ||
) : null; | ||
} | ||
render() { | ||
const { data } = this.state; | ||
return ( | ||
<ListView | ||
renderHeader={this.renderHeader} | ||
renderFooter={this.renderFooter} | ||
renderRow={this.renderItem} | ||
dataSource={data} | ||
style={styles.listContainer} | ||
onEndReached={this.onLoadMore} | ||
/> | ||
); | ||
} | ||
} | ||
const styles = { | ||
listContainer:{ | ||
height:'300rem', | ||
marginTop:'40rem' | ||
}, | ||
cellItem:{ | ||
backgroundColor:"#ffffff", | ||
[`backgroundColor:active`]:'#f2f3f7', | ||
height:"96rem", | ||
paddingLeft:"30rem", | ||
}, | ||
cellInner:{ | ||
flex:1, | ||
borderBottomWidth:"2rem", | ||
borderBottomStyle:"solid", | ||
borderBottomColor:"#e6e7eb", | ||
alignItems:"center", | ||
flexDirection:"row" | ||
}, | ||
cellItemLast:{ | ||
backgroundColor:"#ffffff", | ||
height:"96rem", | ||
borderBottomWidth:"2rem", | ||
borderBottomStyle:"solid", | ||
borderBottomColor:"#e6e7eb", | ||
paddingLeft:"30rem", | ||
alignItems:"center", | ||
flexDirection:"row" | ||
}, | ||
icon:{ | ||
color:'#c7c7cc', | ||
width:'72rem', | ||
height:'72rem', | ||
marginRight:'26rem', | ||
//position:'absolute', | ||
//top:'34rem', | ||
//right:'24rem' | ||
}, | ||
itemTextList:{ | ||
fontSize:"32rem", | ||
color:"#5F646E" | ||
}, | ||
refresh:{ | ||
height:"80rem", | ||
width:"750rem", | ||
listContainer: { | ||
flex: 1, | ||
}, | ||
cellItem: { | ||
backgroundColor: '#ffffff', | ||
'backgroundColor:active': '#f2f3f7', | ||
height: 160, | ||
flex: 1, | ||
alignItems: 'center', | ||
justifyContent:'center', | ||
borderBottomWidth: 1, | ||
borderBottomStyle: 'solid', | ||
borderBottomColor: '#e6e7eb', | ||
}, | ||
itemTextList: { | ||
fontSize: 32, | ||
color: '#5F646E', | ||
}, | ||
refresh: { | ||
height: 80, | ||
width: 750, | ||
backgroundColor: '#cccccc', | ||
justifyContent: 'center', | ||
alignItems: 'center', | ||
}, | ||
loading: { | ||
height: 80, | ||
width: 750, | ||
flexDirection: 'row', | ||
backgroundColor: '#cccccc', | ||
alignItems: 'center', | ||
justifyContent: 'center', | ||
}, | ||
loadingText: { | ||
color: '#666666', | ||
}, | ||
}; | ||
backgroundColor:"#cccccc", | ||
justifyContent:"center", | ||
alignItems:"center" | ||
}, | ||
loading:{ | ||
height:"80rem", | ||
display:"flex", | ||
width:"750rem", | ||
flexDirection:"row", | ||
backgroundColor:"#cccccc", | ||
alignItems:"center", | ||
justifyContent:"center" | ||
}, | ||
loadingText:{ | ||
color:"#666666" | ||
} | ||
} | ||
render(<ListViewDemo />); | ||
render(<ListViewDemo/>); | ||
```` |
# Changelog | ||
## 1.0.0 / 2017-11-04 | ||
* [[65f52a2](http://gitlab.alibaba-inc.com/nuke/list-view/commit/65f52a28532edd6b7cde7d5e370bd4be986eefba)] - `feat` dependency update | ||
* [[68b75cd](http://gitlab.alibaba-inc.com/nuke/list-view/commit/68b75cdf72df74a9f65f5a0ac6dcbf1c8acab47f)] - `feat` fix dependencies | ||
## 0.2.11 / 2017-09-27 | ||
@@ -5,0 +10,0 @@ |
{ | ||
"name": "nuke-list-view", | ||
"version": "0.2.11", | ||
"version": "1.0.0", | ||
"description": "列表", | ||
@@ -33,16 +33,22 @@ "main": "lib/index", | ||
"dependencies": { | ||
"nuke-cell": "^0.x.x", | ||
"nuke-env": "^0.x.x", | ||
"nuke-refresh-control": "^0.x.x", | ||
"nuke-scroll-view": "^0.x.x" | ||
"nuke-cell": "^1.x.x", | ||
"nuke-env": "^1.x.x", | ||
"nuke-refresh-control": "^1.x.x", | ||
"nuke-scroll-view": "^1.x.x" | ||
}, | ||
"devDependencies": { | ||
"nuke-page": "^0.x.x", | ||
"nuke-button": "^0.x.x", | ||
"nuke-icon": "^0.x.x", | ||
"nuke-image": "^0.x.x", | ||
"nuke-modal": "^0.x.x", | ||
"nuke-page": "^1.x.x", | ||
"nuke-button": "^1.x.x", | ||
"nuke-icon": "^1.x.x", | ||
"nuke-image": "^1.x.x", | ||
"nuke-modal": "^1.x.x", | ||
"nuke-text": "^0.x.x", | ||
"nuke-touchable": "^0.x.x", | ||
"nuke-view": "^0.x.x" | ||
"nuke-touchable": "^1.x.x", | ||
"nuke-view": "^1.x.x", | ||
"eslint": "3.19.0", | ||
"babel-eslint": "^7.2.3", | ||
"eslint-config-ali": "2.0.0", | ||
"eslint-plugin-import": "2.6.0", | ||
"eslint-plugin-jsx-a11y": "6.0.2", | ||
"eslint-plugin-react": "7.1.0" | ||
}, | ||
@@ -49,0 +55,0 @@ "publishConfig": { |
/** @jsx createElement */ | ||
import {createElement, Component,render} from 'rax'; | ||
import { createElement, PureComponent, Component, render } from 'rax'; | ||
import View from 'nuke-view'; | ||
@@ -7,143 +7,158 @@ import Text from 'nuke-text'; | ||
import Touchable from 'nuke-touchable'; | ||
import Icon from 'nuke-icon'; | ||
import ListView from 'nuke-list-view'; | ||
import Modal from "nuke-modal"; | ||
let listData = []; | ||
for (var i = 0; i < 20; i++) { | ||
listData.push({key: i,text:'第' + i + '条数据'}); | ||
const originalData = []; | ||
for (let i = 0; i < 20; i++) { | ||
originalData.push({ id: i, text: '列表项' }); | ||
} | ||
class ListItem extends PureComponent { | ||
render() { | ||
const { id, text, onPress } = this.props; | ||
return ( | ||
<Touchable | ||
id={`cell_${id}`} | ||
style={styles.cellItem} | ||
onPress={() => { | ||
onPress(id); | ||
}} | ||
> | ||
<Text style={styles.itemTextList}>{text}</Text> | ||
</Touchable> | ||
); | ||
} | ||
} | ||
class ListViewDemo extends Component { | ||
constructor() { | ||
super(); | ||
this.state = { | ||
data: Object.assign([],listData), | ||
stop: false, | ||
isRefreshing: false, | ||
showLoading:true, | ||
refreshText: '↓ 下拉刷新', | ||
}; | ||
this.index = 0; | ||
constructor() { | ||
super(); | ||
this.state = { | ||
data: [...originalData], | ||
isRefreshing: false, | ||
showLoading: true, | ||
refreshText: '↓ 下拉刷新', | ||
}; | ||
this.onRefresh = this.onRefresh.bind(this); | ||
this.renderItem = this.renderItem.bind(this); | ||
this.onLoadMore = this.onLoadMore.bind(this); | ||
this.renderHeader = this.renderHeader.bind(this); | ||
this.renderFooter = this.renderFooter.bind(this); | ||
} | ||
} | ||
handleRefresh = (e) => { | ||
this.setState({ | ||
isRefreshing: true, | ||
refreshText: '加载中', | ||
}); | ||
this.refs.mylist.resetLoadmore(); | ||
this.index = 0; | ||
setTimeout(() => { | ||
this.setState({ | ||
showLoading:true, | ||
isRefreshing: false, | ||
data: Object.assign([],listData), | ||
refreshText: '↓ 下拉刷新', | ||
}); | ||
Modal.toast('Refresh finish'); | ||
onItemPress(index) { | ||
console.log(`clicked ${index}`); | ||
} | ||
onRefresh(e) { | ||
this.setState({ | ||
isRefreshing: true, | ||
refreshText: '加载中', | ||
}); | ||
setTimeout(() => { | ||
this.setState({ | ||
isRefreshing: false, | ||
data: [...originalData], | ||
refreshText: '↓ 下拉刷新', | ||
}); | ||
}, 1000); | ||
} | ||
}, 1000); | ||
}; | ||
handleLoadMore() { | ||
var self = this; | ||
if (self.index == 5) { | ||
//模拟ajax请求返回数据5次以后,数据不再有更新了 | ||
self.setState({showLoading:false}) | ||
return; | ||
}else{ | ||
//模拟ajax请求返回数据,数据有新增 | ||
setTimeout(function() { | ||
self.state.data.push({key: self.index + 'l1',text:'第' + self.index + '次,loadmore 1'}, {key: self.index + 'l2',text:'第' + self.index + '次,loadmore 2'}); | ||
self.setState(self.state); | ||
self.index++; | ||
Modal.toast('Loadmore finish'); | ||
}, 1000); | ||
} | ||
} | ||
linkTo(item,e) { | ||
console.log(e); | ||
} | ||
renderItem (item, index){ | ||
return <Touchable style={app.cellItemList} onPress={this.linkTo.bind(this,item)}> | ||
<Text style={app.itemTextList}>{item.text}</Text> | ||
</Touchable>; | ||
} | ||
renderHeader=()=>{ | ||
return <RefreshControl style={app.refresh} refreshing={this.state.isRefreshing} onRefresh={this.handleRefresh}><Text style={app.loadingText}>{this.state.refreshText}</Text></RefreshControl>; | ||
} | ||
renderFooter=()=>{ | ||
return this.state.showLoading ? | ||
<View style={[app.loading]}><Text style={app.loadingText}>加载中...</Text></View> | ||
:null | ||
} | ||
render(){ | ||
var self=this; | ||
return ( | ||
<View style={app.wrapper}> | ||
<ListView | ||
ref="mylist" | ||
renderHeader={this.renderHeader} | ||
renderFooter={this.renderFooter} | ||
renderRow={this.renderItem.bind(this)} | ||
dataSource={this.state.data} | ||
showScrollbar={true} | ||
style={app.listContainer} | ||
onEndReached={this.handleLoadMore.bind(this)} | ||
/> | ||
</View> | ||
) | ||
} | ||
onLoadMore() { | ||
// 模拟网络加载 | ||
setTimeout(() => { | ||
this.state.data.push({ | ||
id: 'b100', | ||
text: '新数据', | ||
}); | ||
this.setState({ | ||
data: this.state.data, | ||
}); | ||
}, 300); | ||
} | ||
renderHeader() { | ||
return ( | ||
<RefreshControl | ||
style={styles.refresh} | ||
refreshing={this.state.isRefreshing} | ||
onRefresh={this.onRefresh} | ||
> | ||
<Text style={styles.loadingText}>{this.state.refreshText}</Text> | ||
</RefreshControl> | ||
); | ||
} | ||
renderItem(item, index) { | ||
return ( | ||
<ListItem id={item.id} text={item.text} onPress={this.onItemPress} /> | ||
); | ||
} | ||
renderFooter() { | ||
this.state.showLoading ? ( | ||
<View style={[styles.loading]}> | ||
<Text style={styles.loadingText}>加载中...</Text> | ||
</View> | ||
) : null; | ||
} | ||
render() { | ||
const { data } = this.state; | ||
return ( | ||
<ListView | ||
renderHeader={this.renderHeader} | ||
renderFooter={this.renderFooter} | ||
renderRow={this.renderItem} | ||
dataSource={data} | ||
style={styles.listContainer} | ||
onEndReached={this.onLoadMore} | ||
/> | ||
); | ||
} | ||
} | ||
const styles = { | ||
listContainer: { | ||
flex: 1, | ||
}, | ||
cellItem: { | ||
backgroundColor: '#ffffff', | ||
'backgroundColor:active': '#f2f3f7', | ||
height: '96rem', | ||
flex: 1, | ||
alignItems: 'center', | ||
flexDirection: 'row', | ||
borderBottomWidth: '2rem', | ||
borderBottomStyle: 'solid', | ||
borderBottomColor: '#e6e7eb', | ||
}, | ||
icon: { | ||
color: '#c7c7cc', | ||
width: '72rem', | ||
height: '72rem', | ||
marginRight: '26rem', | ||
// position:'absolute', | ||
// top:'34rem', | ||
// right:'24rem' | ||
}, | ||
itemTextList: { | ||
fontSize: '32rem', | ||
color: '#5F646E', | ||
}, | ||
refresh: { | ||
height: '80rem', | ||
width: '750rem', | ||
const app = { | ||
wrapper:{ | ||
flex:1 | ||
}, | ||
listContainer:{ | ||
flex:1 | ||
}, | ||
cellItemList:{ | ||
backgroundColor:"#ffffff", | ||
height:"110rem", | ||
borderBottomWidth:"2rem", | ||
borderBottomStyle:"solid", | ||
borderBottomColor:"#e8e8e8", | ||
paddingLeft:"30rem", | ||
alignItems:"center", | ||
flexDirection:"row" | ||
}, | ||
itemTextList:{ | ||
fontSize:"30rem", | ||
color:"#5F646E" | ||
}, | ||
refresh:{ | ||
height:"80rem", | ||
width:"750rem", | ||
backgroundColor: '#cccccc', | ||
justifyContent: 'center', | ||
alignItems: 'center', | ||
}, | ||
loading: { | ||
height: '80rem', | ||
display: 'flex', | ||
width: '750rem', | ||
flexDirection: 'row', | ||
backgroundColor: '#cccccc', | ||
alignItems: 'center', | ||
justifyContent: 'center', | ||
}, | ||
loadingText: { | ||
color: '#666666', | ||
}, | ||
}; | ||
backgroundColor:"#cccccc", | ||
justifyContent:"center", | ||
alignItems:"center" | ||
}, | ||
loading:{ | ||
height:"80rem", | ||
display:"flex", | ||
width:"750rem", | ||
flexDirection:"row", | ||
backgroundColor:"#cccccc", | ||
alignItems:"center", | ||
justifyContent:"center" | ||
}, | ||
loadingText:{ | ||
color:"#666666" | ||
} | ||
} | ||
render(<ListViewDemo/>); | ||
render(<ListViewDemo />); |
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
825
1
39149
14
+ Addednuke-cell@1.0.1(transitive)
+ Addednuke-env@1.0.1(transitive)
+ Addednuke-helper@0.0.11(transitive)
+ Addednuke-refresh-control@1.0.3(transitive)
+ Addednuke-scroll-view@1.0.8(transitive)
+ Addednuke-text@0.0.20(transitive)
+ Addednuke-view@1.0.7(transitive)
+ Addedrax-text@0.4.20(transitive)
+ Addedstyle-unit@0.4.20(transitive)
+ Addedua-parser-js@0.7.40(transitive)
- Removednuke-cell@0.0.4(transitive)
- Removednuke-core@0.3.5(transitive)
- Removednuke-env@0.3.6(transitive)
- Removednuke-refresh-control@0.0.7(transitive)
- Removednuke-scroll-view@0.0.4(transitive)
- Removednuke-var-loader@0.1.5(transitive)
- Removednuke-vars@0.0.4(transitive)
- Removednuke-view@0.0.3(transitive)
Updatednuke-cell@^1.x.x
Updatednuke-env@^1.x.x
Updatednuke-refresh-control@^1.x.x
Updatednuke-scroll-view@^1.x.x