我想在下面的 return 中显示选定的值,但我无法从中获取数据,这可能是一个我无法捕捉到的小问题

I want to display the selected value in return below but i am unable get the data from it it might be a minor issue i am unable to catch


    import { Autocomplete, Stack, TextField } from "@mui/material";
import { Box } from "@mui/system";
import axios from "axios";
import React, { useEffect, useState } from "react";

const SearchProperty = () => {
  const [searchResult, setSearchResult] = useState([]);
  const { saveResult, setSaveResult } = useState('');
console.log(saveResult)
  useEffect(() => {
    axios
      .get(`api/societies/`, {
        headers: {
          Authorization: `Bearer  ${localStorage.getItem("token")}`,
        },
      })
      .then((res) => {
        setSearchResult(res.data);
      });
  }, []);

  return (
    <div className="p-5 px-md-20 px-2xl-40 ">
      <Stack>
        <Autocomplete
          id="SearchProperty"
          getOptionLabel={(searchResult) => `${searchResult.name}`}
          options={searchResult}
          inputValue={saveResult}
          isOptionEqualToValue={(option, value) => option.name === value.name}
          onChange={(event, value) => setSaveResult(value)}
          noOptionsText={"No Such Property Available"}
          renderOption={(props, searchResult) => (
            <Box component="li" {...props} key={searchResult.society_id}>
              {searchResult.name}
            </Box>
          )}
          renderInput={(params) => (
            <TextField fullWidth {...params} label="Search Property By Name" onChange={({ target }) => setSaveResult(target.value)}/>
          )}
        />
      </Stack>
      <div>
        <div className="flex">
       {
            <div>
            <h2>{saveResult?.name}</h2>
            <h2>{saveResult?.society_id}</h2>
            <h2>{saveResult?.name}</h2>
          </div>
       }
        </div>
      </div>
    </div>
  );
};

export default SearchProperty;



我的 api 工作正常 我可以在下拉列表中看到搜索结果 我可以 select 结果 但我无法将其保存在我的状态 onChange={(event, value) => console.log(value)} 这有效

onChange={(event, value) => setSaveResult(value)}

这行不通 我收到这个错误 未捕获的类型错误:setSaveResult 不是函数

这是我正在使用 MUI 自动完成的 REACT 代码

更改您的 onChange fn。

onChange={(event, v) => {     
   setSaveResult(v)  
 }
}

OnChange 您正在调用一个匿名函数并且该函数正在执行 setSaveResult,并且您将两个参数传递给匿名 fn,事件和值。