debloque sur l'ajout de tag select

This commit is contained in:
Little Dipper 2023-06-11 16:49:05 +02:00
parent 71ab9d2b01
commit 779e937310
2 changed files with 72 additions and 35 deletions

View File

@ -1,7 +1,8 @@
import React, { useState } from "react"; import React, { useState } from "react";
import { Rank } from "../../DataBase/DataRank"; import { Rank } from "../../DataBase/DataRank";
import { GrAdd } from "react-icons/gr";
const AddSelectTag = () => { function AddSelectTag ({number, array, new_name}) {
// const [selectCount, setSelectCount] = useState(0); // const [selectCount, setSelectCount] = useState(0);
// const [selectValues, setSelectValues] = useState([]); // const [selectValues, setSelectValues] = useState([]);
@ -9,7 +10,11 @@ const AddSelectTag = () => {
// setSelectCount((selectCount) => selectCount + 1); // setSelectCount((selectCount) => selectCount + 1);
// setSelectCount((selectValues) =>[...selectValues, `select${selectCount + 1}`] ); // setSelectCount((selectValues) =>[...selectValues, `select${selectCount + 1}`] );
// }; // };
// function insertInArray (number, array, new_name) {
// return (
// array[number] = new_name
// );
// };
return ( return (
<div> <div>
{/* <button onClick={handleAddSelect}>Add</button> {/* <button onClick={handleAddSelect}>Add</button>
@ -21,15 +26,25 @@ const AddSelectTag = () => {
</select> </select>
))} ))}
</div> */} </div> */}
<select> {/* <select>
{Rank.map((item, index) => { {Rank.map((item, index) => {
return ( return (
<option value="data">{item.name} <option value="data">{item.name}
{/* <input type="checkbox" /> */} {/* <input type="checkbox" /> */}
</option> {/* </option> */}
) {/* ) */}
})} {/* // })} */}
</select> {/* // </select> */}
{/* <div onClick={ () => <insertInArray number={number} array={array} new_name={new_name}/>}> */}
<div>
<GrAdd/>
{/* <h4>{new_name}</h4> */}
</div>
{/* {number != 0 ? (
<div>
<p>{array[number]}</p>
</div>
) : ("")} */}
</div> </div>
) )
} }

View File

@ -25,27 +25,26 @@ const dropIn = {
const Modal = ({handleClose, text}) => { const Modal = ({handleClose, text}) => {
const [multi, setMulti] = useState(false); const [multi, setMulti] = useState(false);
// const addButton = document.getElementById('addButton'); const [selectTags, setSelectTag] = useState([{ id: 1, selectedOption: ''}]);
// const selectContainer = document.getElementById('selectContainer'); const [selectedOptionArray, setSelectedOptionArray] = useState([]);
// let selectCount = 0;
// function addSelectTag(){
// selectCount++;
// const select = document.createElement('select');
// select.name = `select${selectCount}`;
// const opt1 = document.createElement('option'); const handleOptionChange = (selectId, selectedOption) => {
// opt1.value = 'opt1'; setSelectTag((prevTags) =>
// opt1.text = 'opt1'; prevTags.map((tag) =>
tag.id === selectId ? { ...tag, selectedOption } : tag
)
);
};
// const opt2 = document.createElement('option'); const addNewSelectedTag = () => {
// opt2.value = 'opt2'; const newSelectedId = Math.max (...selectTags.map((tag) => tag.id)) + 1;
// opt2.text = 'opt2'; setSelectTag([...selectTags, { id: newSelectedId, selectedOption: ''}]);
};
// select.appendChild(opt1); const saveSelectedOptions = () => {
// select.appendChild(opt2); const selectedOptions = selectTags.map((tag) => tag.selectedOption);
setSelectedOptionArray(selectedOptions);
// selectContainer.appendChild(select); }
// }
function try_me() function try_me()
{ {
@ -54,6 +53,10 @@ const Modal = ({handleClose, text}) => {
AddSelectTag(); AddSelectTag();
} }
} }
let new_name;
let number;
let array;
// const [nickname, setNickname] = useState("");
return ( return (
<Backdrop> <Backdrop>
<motion.div <motion.div
@ -78,23 +81,42 @@ const Modal = ({handleClose, text}) => {
</select> </select>
{/* Second selection */} {/* Second selection */}
{selectTags.map((selectTag) =>(
<div key={selectTag.id}>
<select> <select
value={selectTag.selectedOption}
onChange={(a) => handleOptionChange(selectTag.id, a.target.value)}>
{Rank.map((item, index) => { {Rank.map((item, index) => {
return ( return (
<option value="data">{item.name} <>
{/* <input type="checkbox" /> */} <option value={new_name}>{item.name}</option>
</option>
</>
) )
})} })}
</select> </select>
{/* <button id="addButton">Add</button> */} </div>
{/* addButton.addEventListener('click', addSelectTag); */} ))
<div id="selectContainer" onClick={() => (try_me())}> }
{multi === true ? <GrAdd/> : " "} {/* <button onClick={addNewSelectedTag}>Add </button>
<button onClick={saveSelectedOptions}>Save </button> */}
<div>
<h3>Selected Option:</h3>
<ul>
{selectedOptionArray.map((option, index) => (
<li key={index}>{option}</li>
))}
</ul>
</div>
<div>
{/* <p>nickname = "{new_name}"</p> */}
{multi === true ? (
// <AddSelectTag number={number} array={array} new_name={new_name}/>
<GrAdd onClick={addNewSelectedTag}/>) : " "}
</div> </div>
<div className="div_submit"> <div className="div_submit">
<Link to="#" className="submit" onClick={handleClose}>Submit</Link> <Link to='#' className="submit" onClick={ saveSelectedOptions}>Submit</Link>
<Link to="#" className="submit" onClick={handleClose}>Cancel</Link> <Link to="#" className="submit" onClick={handleClose}>Cancel</Link>
</div> </div>