Skip to content

Commit 3259906

Browse files
committed
为SmartRefreshControl加入autoRefresh属性
Signed-off-by: 2534290808 <2534290808@qq.com>
1 parent f063639 commit 3259906

4 files changed

Lines changed: 96 additions & 74 deletions

File tree

.idea/workspace.xml

Lines changed: 66 additions & 73 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

SmartRefreshControl.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,10 @@ SmartRefreshControl.propTypes = {
7575
onLoadMore: PropTypes.func,
7676
enableRefresh: PropTypes.bool,//是否启用下拉刷新功能
7777
HeaderComponent:PropTypes.object,
78+
autoRefresh:PropTypes.shape({
79+
refresh:PropTypes.bool,
80+
time:PropTypes.number,
81+
}),//是否启动自动刷新
7882
...ViewPropTypes,
7983
}
8084
export default SmartRefreshControl;

android/src/main/java/com/lmy/smartrefreshlayout/SmartRefreshLayoutManager.java

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
package com.lmy.smartrefreshlayout;
22

3+
import android.graphics.Color;
34
import android.support.annotation.NonNull;
45
import android.view.View;
56

67
import com.facebook.react.bridge.ReadableArray;
8+
import com.facebook.react.bridge.ReadableMap;
79
import com.facebook.react.common.MapBuilder;
810
import com.facebook.react.uimanager.ThemedReactContext;
911
import com.facebook.react.uimanager.ViewGroupManager;
@@ -95,6 +97,29 @@ public Map<String, Integer> getCommandsMap() {
9597
public void setEnableRefresh(ReactSmartRefreshLayout view,boolean enableRefresh){
9698
view.setEnableRefresh(enableRefresh);
9799
}
100+
101+
/**
102+
* 是否启用自动刷新
103+
* @param view
104+
* @param autoRefresh
105+
*/
106+
@ReactProp(name = "autoRefresh",defaultBoolean = false)
107+
public void setAutoRefresh(ReactSmartRefreshLayout view, ReadableMap autoRefresh){
108+
boolean isAutoRefresh=false;Integer time=null;
109+
if(autoRefresh.hasKey("refresh")){
110+
isAutoRefresh=autoRefresh.getBoolean("refresh");
111+
}
112+
if(autoRefresh.hasKey("time")){
113+
time=autoRefresh.getInt("time");
114+
}
115+
if(isAutoRefresh==true){
116+
if(time!=null && time>0){
117+
view.autoRefresh(time);
118+
}else{
119+
view.autoRefresh();
120+
}
121+
}
122+
}
98123
@Override
99124
public void receiveCommand(ReactSmartRefreshLayout root, int commandId, @Nullable ReadableArray args) {
100125
switch (commandId){

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "react-native-smartrefreshlayout",
3-
"version": "0.0.8",
3+
"version": "0.0.9",
44
"description": "基于android SmartRefreshLayout的封装",
55
"main": "index.js",
66
"scripts": {

0 commit comments

Comments
 (0)