Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/477.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将数据从React表传递到输入TextField材质ui_Javascript_Reactjs_Material Ui - Fatal编程技术网

Javascript 将数据从React表传递到输入TextField材质ui

Javascript 将数据从React表传递到输入TextField材质ui,javascript,reactjs,material-ui,Javascript,Reactjs,Material Ui,我有一个包含多行和3列的react表,每行有一个编辑按钮,当用户单击任何行的编辑按钮时,我希望该行的名称数据显示在上面的输入文本字段中。 我尝试了Ref和设置状态,但没有一个有效,请帮助。 另外,我还有一个react select字段,所以请告诉我相同的解决方案是否适用于该字段? 这是完整的代码 import React,{useState,useRef}来自“React”; 从“@material ui/core/TextField”导入TextField; 进口{ 桌子 TableCell,

我有一个包含多行和3列的react表,每行有一个编辑按钮,当用户单击任何行的编辑按钮时,我希望该行的名称数据显示在上面的输入文本字段中。 我尝试了Ref和设置状态,但没有一个有效,请帮助。 另外,我还有一个react select字段,所以请告诉我相同的解决方案是否适用于该字段? 这是完整的代码

import React,{useState,useRef}来自“React”;
从“@material ui/core/TextField”导入TextField;
进口{
桌子
TableCell,
表体,
桌面,
桌椅
}来自“@材料界面/核心”;
常数数据=[
{
id:1,
名称:“tom1”
},
{
id:2,
名称:“tom2”
},
{
id:3,
名称:“tom3”
},
{
id:4,
姓名:“迈克”
}
];
常量演示=()=>{
const key=useRef(null);
const[word,setWord]=useState(“”);
常量focusText=(名称)=>{
key.current.value=名称;
};
返回(
{
设置字(即目标值);
}}
/>
身份证件
名称
行动
{data.map(项=>(

{item.id}

{item.name}

focusText(item.name)}>编辑 ))} ); }; 导出默认演示;
沙盒链接

import React,{useState,useRef}来自“React”;
从“@material ui/core/TextField”导入TextField;
进口{
桌子
TableCell,
表体,
桌面,
桌椅
}来自“@材料界面/核心”;
常数数据=[
{
id:1,
名称:“tom1”
},
{
id:2,
名称:“tom2”
},
{
id:3,
名称:“tom3”
},
{
id:4,
姓名:“迈克”
}
];
常量演示=()=>{
const key=useRef(null);
const[word,setWord]=useState(“”);
const focusText=(id,name)=>{
设置字(名称);
};
返回(
{
设置字(即目标值);
}}
/>
身份证件
名称
行动
{
data.map(项=>(

{item.id}

{item.name}

focusText(item.id,item.name)}>编辑{“”} )) } ); }; 导出默认演示;
import React, { useState, useRef } from "react";
import TextField from "@material-ui/core/TextField";

import {
  Table,
  TableCell,
  TableBody,
  TableHead,
  TableRow
} from "@material-ui/core";
const data = [
  {
    id: 1,
    name: "tom1"
  },
  {
    id: 2,
    name: "tom2"
  },
  {
    id: 3,
    name: "tom3"
  },
  {
    id: 4,
    name: "mike"
  }
];
const Demo = () => {
  const key = useRef(null);
  const [word, setWord] = useState("");
  const focusText = (name) => {
    key.current.value = name;
  };




  return (
    <React.Fragment>
      <TextField
        style={{ width: "100%" }}
        id="outlined-basic"
        variant="outlined"
        value={word}
        size="small"
        color="primary"
        ref={key}
        onChange={e => {
          setWord(e.target.value);
        }}
      />
      <Table>
        <TableHead>
          <TableRow>
            <TableCell>id</TableCell>
            <TableCell>name</TableCell>
            <TableCell>action</TableCell>
          </TableRow>
        </TableHead>
        <TableBody>{data.map(item => (
               <TableRow>
                   <TableCell align="left">
                        <p style={{ fontSize: "13px", margin: "0px" }}>{item.id}</p>
                   </TableCell>
                  <TableCell align="left">
                    <p style={{ fontSize: "13px", margin: "0px" }}>{item.name}</p>
                  </TableCell>
                    <TableCell>
                      <button onClick={() => focusText(item.name)}>edit</button>
                    </TableCell>
              </TableRow>
    ))}</TableBody>
      </Table>
    </React.Fragment>
  );
};
export default Demo;

import React, { useState, useRef } from "react";
import TextField from "@material-ui/core/TextField";

import {
  Table,
  TableCell,
  TableBody,
  TableHead,
  TableRow
} from "@material-ui/core";
const data = [
  {
    id: 1,
    name: "tom1"
  },
  {
    id: 2,
    name: "tom2"
  },
  {
    id: 3,
    name: "tom3"
  },
  {
    id: 4,
    name: "mike"
  }
];
const Demo = () => {
  const key = useRef(null);
  const [word, setWord] = useState("");
  const focusText = (id, name) => {
    setWord(name);
  };

  return (
    <>
      <TextField
        style={{ width: "100%" }}
        id="outlined-basic"
        variant="outlined"
        value={word}
        size="small"
        color="primary"
        ref={key}
        onChange={e => {
          setWord(e.target.value);
        }}
      />
      <Table>
        <TableHead>
          <TableRow>
            <TableCell>id</TableCell>
            <TableCell>name</TableCell>
            <TableCell>action</TableCell>
          </TableRow>
        </TableHead>
        <TableBody>
        {
          data.map(item => (
            <TableRow key={item.id}>
              <TableCell align="left">
                <p style={{ fontSize: "13px", margin: "0px" }}>{item.id}</p>
              </TableCell>
              <TableCell align="left">
                <p style={{ fontSize: "13px", margin: "0px" }}>{item.name}</p>
              </TableCell>
              <TableCell>
                <button onClick={() => focusText(item.id, item.name)}>edit</button>{" "}
              </TableCell>
            </TableRow>
          ))
        }</TableBody>
      </Table>
    </>
  );
};
export default Demo;