我不知道如何将SELECT上的下拉列表中的值传递给4个输入.我的下拉列表显示了地址,但我很难将每个值传递给单独的输入.例如,Address_1应该在一个输入中,其中Address_1是单位数字,Address_2是街道,依此类推.

 const [select,setSelect]=useState()

 <select onChange={(e) => setSelect(e.target.value)}>  

 <option>Select Address</option>
                    {getAddressData?.address? (
                      getAddressData?.address?.map((address: any, id) => (
                        <option>{`${address.Address_1},${address.Address_2}, ${address.Town}, ${address.County}`}</option>

                     <input>

                    type={'text'}
                    name={'flatNumber'}
                    placeholder="Flat Number"
                    value={select}

                   </input>

现在我有完整的地址行,例如(西米德兰兹斯米德兰兹投票街30号)在整个一个输入中.

推荐答案

以下是工作代码.现场直播:https://codesandbox.io/s/competent-firefly-0qdrij?file=/src/App.js

import React, { useState, useEffect } from "react";

function App() {
  const [address, setAddress] = useState({
    Address_1: "",
    Address_2: "",
    Town: "",
    pafCounty: ""
  });

  let getAddressData = {};
  getAddressData.address = [
    {
      Address_1: "Address_1",
      Address_2: "Address_2",
      Town: "Town",
      pafCounty: "pafCounty"
    },
    {
      Address_1: "Address_11",
      Address_2: "Address_22",
      Town: "Town2",
      pafCounty: "pafCounty2"
    }
  ];

  function handleChange(e) {
    setAddress({ ...address, [e.target.name]: e.target.value });
  }

  useEffect(() => {
    console.log(address);
  }, [address]);

  return (
    <>
      <select
        onChange={(e) => {
          setAddress(getAddressData?.address[e.target.value]);
        }}
      >
        <option selected disabled>
          Select Address
        </option>
        {getAddressData?.address?.map((address, index) => (
          <option
            key={index}
            value={index}
          >{`${address.Address_1}, ${address.Address_2}, ${address.Town}, ${address.pafCounty}`}</option>
        ))}
      </select>

      {Object.keys(address).map((key, index) => (
        <input
          type="text"
          name={key}
          placeholder="Flat Number"
          value={address[key]}
          onChange={handleChange}
        />
      ))}
    </>
  );
}

export default App;

Reactjs相关问答推荐

从另一个组件更改组件中const的状态

使用setInterval判断数据的时间,然后在过期后从对象中删除;遇到性能问题

为什么VScode中的React应用程序无法识别文件夹 struct ?

带有样式的工具提示导致无法向功能组件提供参考警告

滚动视图样式高度没有任何区别

.populate() 方法在 mongodb 中不起作用

如何管理组件列表的复杂状态? (Nextjs/ReactJS)

为 Next.js 应用程序目录中的所有页面添加逻辑的全局文件是什么?

Mui 在 TextField 标签上添加工具提示显示两个工具提示框

如何在 React 中停止嵌套 Link 和 Button 组件的事件传播?

卸载 React 组件时未清除本地存储项目

下一个js如何从另一个组件更新组件?

使用 react pro 侧边栏展开折叠菜单

如果传递给挂钩的数据需要事先修改,如何使用自定义挂钩?

页面加载时不显示数组中的数据

将 ref 赋予功能组件以使用内部功能

使用 React 中的功能组件更改另一个组件的状态

在react 钩子中将数组添加到数组状态给出一个数字

如何在 NavBar 中设置动态标题

material uireact ,如何从表格中删除阴影?试图找到 api 但找不到正确的属性