export const go2Page=(url,title:string,handlerBack?:(flag:number,data?:any)=>void,isPage:boolean=true,size:'sm'|'lg'|"xlg"='lg')=>{ if(isPage){ history.push(url); return; } const all=[].concat(routerItemArray); const one= all.find((v,i)=>{ if(v.path.indexOf(':')!==-1){ const m1=new RegExp(v.path.replace(':id','\\w?')); return m1.test(url); }else{ return v.path===url; } }); const raw= one!=null?one.element:<div>没有找到</div>; const A :any=()=> (<div>{raw}</div>); return RvModal.open({ width: size==='sm'?400:(size==='lg'? 800:(size==='xlg'?1120:1200)), title: title||'查看', footer: null, onCancel: (args) => null, }, <A isPage={false} routePath={url} handlerBack={handlerBack||null}/>); } dialog= go2Page('/examine-flow-impower/'+value?.id,"审批流程授权",goBack,false);前端是这样跳转到修改页面的为什么 <Button onClick={() => {props.handlerBack?.bind(this, 0)}} style={{ marginLeft: "20px" }}>取消</Button> 取消没有反应
时间: 2024-04-13 08:24:55 浏览: 131
ES6变量声明与赋值:值传递、浅拷贝与深拷贝详解
根据你提供的代码,我看到你使用了一个名为`go2Page`的函数来进行页面跳转操作。这个函数接受几个参数,包括目标URL、标题、回调函数等。在代码中,你使用`history.push(url)`来进行页面跳转,这是一种常见的前端路由操作。
至于你提到的取消按钮没有反应的问题,可能有几个原因导致:
1. 未正确绑定`handlerBack`函数:请确保在调用`go2Page`函数时,正确地传递了`handlerBack`函数作为参数。并且在取消按钮的`onClick`事件中,正确地调用了`props.handlerBack?.bind(this, 0)`。如果未正确绑定函数,取消按钮点击后将不会触发任何响应。
2. `props.handlerBack`函数没有被正确传递:请检查调用`go2Page`函数时是否正确地传递了`handlerBack`函数作为参数。
3. `handlerBack`函数中存在其他问题:请确保在`handlerBack`函数中没有其他错误或逻辑问题,导致取消按钮点击后无法触发期望的操作。
如果以上检查都没有解决问题,请提供更多相关代码和错误信息,以便我更好地帮助你解决这个问题。
阅读全文