react 中 Modal 多次使用且带参数不同实现

一.举例:对于 echatrs 的柱子分别需要弹窗 带参数  触发弹窗出现事件 showModalhref
 1   myChart.on('click', (params) => {
 2         switch (params.seriesIndex) {
 3           // echarts 双柱1
 4           case 0: this.showModalhref('kjxy', industryBar_list.list, params);
 5             break;
 6           // echarts 双柱2
 7           case 1: this.showModalhref('cpxy', industryBar_list.list, params);
 8             break;
 9           default: break;
10         }
11       });

 

二、modal  

   state = {
      modalShowHref: {
             visibleHref: false,
             type: '',
             data1: [],
             data2: {},
         },
     }    
    

      <Modal
          visible={this.state.modalShowHref.visibleHref}
          onOk={this.okModalhref}
          onCancel={this.hideModalhref}
          okText="确认"
          cancelText="取消"
          width={278}
          className={styles.hrefModal}
        >
          <p>确定跳转吗?</p>
        </Modal>

 

  三、点击onOk时

okModalhref = () => {
    const { modalShowHref } = this.state;
    const { type } = modalShowHref;
    const { data1 } = modalShowHref;
    const { data2 } = modalShowHref;
    if (type === 'kjxy') { // 框架协议 (arr, params)
      const obj = data1.find(t => t.name === data2.name);
      const { corpCstTps } = obj;
      this.props.dispatch(routerRedux.push({
        pathname: '/QYGL/kjxy/query',
        state: {
          corpCstTps,
        },
      }));
    } else if (type === 'cpxy') { // 产品协议 (arr, params)
      const obj = data1.find(t => t.name === data2.name);
      const { corpCstTps } = obj;
      this.props.dispatch(routerRedux.push({
        pathname: '/QYGL/cpxy/searchList',
        state: {
          corpCstTps,
        },
      }));
    }
  };

四、点击onCancel时

/////弹窗中 取消事件
  hideModalhref = () => {
    this.setState({
      modalShowHref: {
        visibleHref: false,
        type: '',
        data1: [],
        data2: {},
      },
    });
  };

 

转载于:https://www.cnblogs.com/roxanneQQyxm/p/11531999.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值