按钮防连点

场景:例如新增用户,如果没有做按钮防连点,操作人员多次重复点击新增按钮,会创建多条重复数据。

思路:点击按钮之后,通过disabled将按钮置成不可操作状态,事件请求结束之后,将按钮恢复成可操作状态。

1.react示例

import React, { useState } from 'react'


const App = (props) => {
    const [disabled, setDisabled] = useState(false) // 防连点
    const handleFinish = async(values) => {
        setDisabled(true) // 将按钮置成不可操作状态
        const { flag, data = {}} = await axios.post(ajaxParams.urls, params)
        setDisabled(false) // 恢复按钮状态
        if (flag === 1) {
          message.success('创建成功')
        }
    }
    
    return (
        <Modal
          visible
          title='新增客户'
          footer={null}
          width={700}
          onOk={handleSubmit}
          onCancel={CloseModal}
        >
          <Form labelCol={4} wrapperCol={14} form={form} onFinish={handleFinish}>
          <Form.Item noStyle>
            <Button
              type='primary'
              htmlType='submit'
              disabled={disabled}
            >
              新增
            </Button>
            <Button onClick={CloseModal} style={{ marginLeft: 15 }}>
              取消
            </Button>
          </Form.Item>
          </Form>
        
    )
}

export default ContractForm

2.Vue示例

<el-button type="primary" @click="submit" :disabled ="disabled">提交</el-button>
export default {
  data() {
    return {
      disabled: false
    }
  },
  methods: {
    submit() {
      this.disabled = true
      sendCounselor(this.againParam).then(({flag}) => {
          this.disabled = false
          if (flag === 1) {
            // do some things
          }
        })
        .catch((err) => {
          this.disabled = false
          console.log(err)
        })
    }
  }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值