React JS를 사용하여 동적 종속 드롭다운 빌드
3241 단어 muijavascriptwebdevreact
도구 및 패키지:
API 링크: API
App.js
import { Autocomplete, Container, TextField, Typography } from "@mui/material";
import { Box } from "@mui/system";
import axios from "axios";
import { useEffect, useState } from "react";
function App() {
const [data, setData] = useState([]);
const [getCounty, setCounty] = useState([]);
const [getState, setState] = useState([]);
useEffect(() => {
axios
.get(
"https://pkgstore.datahub.io/core/world-cities/world-cities_json/data/5b3dd46ad10990bca47b04b4739a02ba/world-cities_json.json"
)
.then((response) => {
// console.log(response);
setData(response.data);
})
.catch((err) => {
console.log(err);
});
}, []);
const country = [...new Set(data.map((item) => item.country))];
// console.log(country);
// console.log(data);
const handleCountry = (event, value) => {
let states = data.filter((state) => state.country === value);
states = [...new Set(states.map((item) => item.name))];
states.sort();
setState(states);
};
return (
<Container>
<Typography>Dependent Select Field</Typography>
<Autocomplete
onChange={(event, value) => handleCountry(event, value)}
id="country"
getOptionLabel={(country) => `${country}`}
options={country}
isOptionEqualToValue={(option, value) => option.name === value.name}
noOptionsText={"No Available Data"}
renderOption={(props, country) => (
<Box component="li" {...props} key={country} value={getCounty}>
{country}
</Box>
)}
renderInput={(params) => <TextField {...params} label="Search" />}
/>
<Autocomplete
id="city"
getOptionLabel={(getState) => `${getState}`}
options={getState}
isOptionEqualToValue={(option, value) => option.name === value.name}
noOptionsText={"No Available User"}
renderOption={(props, getState) => (
<Box component="li" {...props} key={getState}>
{getState}
</Box>
)}
renderInput={(params) => <TextField {...params} label="City" />}
/>
{/* <Autocomplete /> */}
</Container>
);
}
export default App;
Github 리포지토리 링크: GitHub
Reference
이 문제에 관하여(React JS를 사용하여 동적 종속 드롭다운 빌드), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/jps27cse/build-dynamic-dependent-dropdown-using-react-js-3d9c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)