函数方式渲染页面

简介: 函数方式渲染页面

导语

项目中添加按钮的两种方式




编辑


核心实现代码

第一部分


getButtonList(status, funs)




调用 传入两个参数 第一个参数用鱼switch判断 第二参数继续调用方法


第二部分


const funs = { showModal: this.showModal, handleBySigning: this.handleBySigning, handleSpecialReleaseApply: this.handleSpecialReleaseApply, handleTransferApply: this.handleTransferApply, ownerChange: this.ownerChange, };




第三部分


``` export const getButtonList = (status, funs) => { switch (status) { // case PARTNERSDRAFTSTATUS: //草稿 // return [checkBtn(funs)]; // case PARTNERSCHECKINGSTATUS: //审核中 // return [checkBtn(funs), bySign(funs)]; // case PARTNERSTOBECHECKSTATUS: //待审核 // return [checkBtn(funs), downContract(funs)]; case PARTNERSTOBESIGNSTATUS: //待签约 return [


// specialRelease(funs),
  ];
// case PARTNERS_FAILED_STATUS: //审核不通过
//   return [checkBtn(funs)];
case PARTNERS_CNECELED_STATUS: //取消
  return [marking(funs), recoverQualification(funs), exportData(funs)];
case PARTNERS_FREEZEING_STATUS: //冻结
  return [exportData(funs), marking(funs), unFreeze(funs), disQualification(funs)];
case PARTNERS_SPECIALRELEASE_STATUS: //
  return [
    exportData(funs),
    marking(funs),
    freeze(funs),
    disQualification(funs),
    distributeCustomer(funs),
    // bySign(funs),
  ];
case PARTNERS_EFFECTIVE_STATUS: //合作中
  return [
    // ownerChange(funs),
    exportData(funs),
    marking(funs),
    distributeCustomer(funs),
    freeze(funs),
    disQualification(funs),
    // qualifiedTransfer(funs),
    // exportData(funs),
  ];
default:
  return [
    exportData(funs),
    marking(funs),
    // ownerChange(funs),
    // distributeCustomer(funs),
    // freeze(funs),
    // disQualification(funs),
  ];
// qualifiedTransfer(funs),
//  bySign(funs),];

} }; ```




第四部分


const recoverQualification = (funs) => { return { title: '恢复资格', buttonKey: 'H501000000013', onClick: () => { funs.showModal('recover'); }, }; };




第五部分


//显示模态框 showModal = (type) => { if (!this.props.agent.selectedRows.length) { message.info('请选择要操作的数据!'); return; } this[`${type}Modal`].showModal(); };




第六部分


```


<CheckModal 审核弹窗
      onRef={(ref) => {
        this.checkModal = ref;
      }}
      remarkList={remarkList}
      handleReset={this.handleReset}
      dispatch={dispatch}
      id={activeParenter.id}
      code={activeParenter.code}
    />


```




总结

通过不同type显示不同弹框的开启 nice





相关文章
|
JSON JavaScript 前端开发
回调函数路由,模板渲染
回调函数路由,模板渲染
35 0
|
6月前
|
前端开发 JavaScript 索引
改变数组页面重新渲染的操作/那些操作不会重新渲染页面以及解决方法
改变数组页面重新渲染的操作/那些操作不会重新渲染页面以及解决方法
49 2
|
6月前
|
JavaScript 前端开发 API
vue改变数组页面重新渲染的操作/那些操作不会重新渲染页面以及解决方法
vue改变数组页面重新渲染的操作/那些操作不会重新渲染页面以及解决方法
199 2
|
6月前
|
Python
渲染模板
【2月更文挑战第21天】渲染模板。
28 1
|
6月前
|
存储 JavaScript 数据处理
uniapp获取接口数据并渲染至页面中
uniapp获取接口数据并渲染至页面中
368 0
|
JSON 小程序 JavaScript
小程序调用天气接口并且渲染在页面
小程序调用天气接口并且渲染在页面
72 0
|
JavaScript API
更改redux 数据,页面未重新渲染
更改redux 数据,页面未重新渲染
|
前端开发 JavaScript
【Render】如何将数据渲染到页面?渲染数据的流程
【Render】如何将数据渲染到页面?渲染数据的流程
185 0
|
JavaScript
解决uniapp分段器参数改变不渲染,适用所有组件
解决uniapp分段器参数改变不渲染,适用所有组件
604 0
|
网络架构
解决VUE3中动态路由参数变化页面不刷新的问题
解决VUE3中动态路由参数变化页面不刷新的问题
1773 0