react-native-SmartRefreshLayout
react-native-SmartRefreshLayout copied to clipboard
增加beginRefresh方法
SmartRefreshControl.js
/**
* 参数格式为{delayed:number,success:bool}
* delayed:延迟刷新
* success:是否刷新成功
* @param params
*/
finishRefresh=({delayed=-1,success=true}={delayed:-1,success:true})=>{
this.dispatchCommand('finishRefresh',[delayed,success])
}
//新增
beginRefresh=()=>{
this.dispatchCommand('beginRefresh',[])
}
SmartRefreshLayoutManager.java
private static final String COMMAND_FINISH_REFRESH_NAME="finishRefresh";
//新增
private static final String COMMAND_BEGIN_REFRESH_NAME="beginRefresh";
private static final int COMMAND_FINISH_REFRESH_ID=0;
//新增
private static final int COMMAND_BEGIN_REFRESH_ID=1;
@Nullable
@Override
public Map<String, Integer> getCommandsMap() {
return MapBuilder.of(
COMMAND_FINISH_REFRESH_NAME,COMMAND_FINISH_REFRESH_ID,
COMMAND_BEGIN_REFRESH_NAME,COMMAND_BEGIN_REFRESH_ID//新增
);
}
@Override
public void receiveCommand(ReactSmartRefreshLayout root, int commandId, @Nullable ReadableArray args) {
switch (commandId){
case COMMAND_FINISH_REFRESH_ID:
int delayed=args.getInt(0);
boolean success=args.getBoolean(1);
if(delayed>=0){
root.finishRefresh(delayed,success);
}else{
root.finishRefresh(success);
}
break;
//新增
case COMMAND_BEGIN_REFRESH_ID:
if(!root.isRefreshing()){
root.autoRefresh();
}
break;
default:break;
}
}
作者麻烦增加下,ios 下拉刷新有手动方法beginRefresh,但Android无,有时候处理相同的效果不好处理
你可以提一个pull requests
请问更新了吗