首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何合并两个onChange事件?

如何合并两个onChange事件?
EN

Stack Overflow用户
提问于 2021-03-12 23:24:27
回答 1查看 94关注 0票数 1

我有一个API,从一个表单接收数据的电话输入,它需要一个国家代码。因此,我设置了react- phone -number-input来格式化通过输入发送的电话号码,但它最终与API post请求冲突,因为react-phone-number-input和post请求都使用onChange事件处理程序工作

现在,react-phone-number-input起作用了。但我不能将值发送到API

我如何解决这个问题,请忽略API是否正常工作。我需要的是让它控制台记录值,然后我自己解决API问题

提前感谢

codesanbox链接到下面的代码:https://codesandbox.io/s/verigo-forked-lh4i7?file=/src/pages/DeliveryExecutive.js

代码语言:javascript
复制
function DeliveryExecutive() {
const [phoneValue, setPhoneValue] = useState();
const [formData, setFormData] = useState({
    userType: 4,
    name: "",
    surname: "",
    phoneNumber: "",
    email: "",
    password: "",
    referralCode: "" });

const {
    name,
    surname,
    phoneNumber,
    email,
    password,
    referralCode
  } = formData;


const onInputChange = (e) => {
    const value =
      e.target.type === "checkbox" ? e.target.checked : e.target.value;

    setFormData({
      ...formData,
      [e.target.name]: value
    });
  };



const onSubmit = async (e) => {
    e.preventDefault();
    console.log("formData", { ...formData });

    const { data } = await axios.post(
      "http://api.myverigo.com/api/services/app/Account/User",
      formData,
      {
        headers: {
          clientid: "Client id",
          clientsecret: "client secret"
        }
      }
    );

    console.log("response data", data);
  };

return (
<div>
  <form id="login-form" onSubmit={onSubmit}>
  <div class="form-group">
      <input
                  type="tel"
                  name="phoneNumber"
                  value={phoneNumber}
                  onChange={onInputChange}
                  id="phone"
                  className="de-input form-control leave-message-input rounded-pill"
                  placeholder="Enter your mobile number"
                  required
                />
      
    </div>
    <div class="form-group">
      <PhoneInput
        className="de-input form-control leave-message-input rounded-pill"
        placeholder="Enter your mobile number"
        name="phoneNumber"
        country="NG"
        value={phoneValue}
        onChange={setPhoneValue}
        required
      />
    </div>

    <button type="submit" class="btn login-btn rounded-pill">
      Become a partner
    </button>
  </form>
</div>
  );
}
EN

回答 1

Stack Overflow用户

发布于 2021-03-12 23:49:45

代码语言:javascript
复制
const firstFunc = async () => {
   await //do some stuff
   secondFunc()
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66602689

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档