亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

"Comment activer l'événement onChange de MUI Autocomplete pour mettre à jour la valeur"
P粉649990273
P粉649990273 2023-09-15 17:21:34
0
1
1121

Je re?ois les options de saisie semi-automatique de l'API et elle les obtient parfaitement et affiche également l'option sélectionnée renvoyée par l'API, mais le problème auquel je suis confronté est que peu importe que j'essaie de supprimer ou d'ajouter une valeur (catégorie), ce n'est pas le cas. t Aucune suppression ni aucun ajout ne sera effectué.

Codes de démonstration en ligneandbox

PostInfo.jsx?:

import SelectPostsCatsOptions from "../../components/autocomplete/SelectPostsCatsOptions";
import postInfo from "./postInfo.json";
export default function PostInfo() {
  const [categories, setCategories] = useState([]);
  const [selectedCategories, setSelectedCategories] = useState([]);

  useEffect(() => {
    const getPost = async () => {
      try {
        setCategories(postInfo[0].categories);
        setSelectedCategories(postInfo[0].categories);
      } catch (err) {}
    };
    getPost();
  });

  return (
   
    <div className="PostInfoPage">
      <>
        <div>
          <form>
            <div>
              <h3>帖子類別:</h3>
              <SelectPostsCatsOptions
                selectedCategories={selectedCategories}
                setSelectedCategories={setSelectedCategories}
                onChange={(event, newSelectedCategories) =>
                  setSelectedCategories(newSelectedCategories)
                }
                value={selectedCategories}
              />
              <p>已選擇的類別:</p>
            </div>
          </form> 
        </div>
      </>  
    </div>
  );
}

Sélectionnez les options PostsCats?:

import categories from "./postsCategories.json";

export default function SelectPostsCatsOptions({
  selectedCategories,
  setSelectedCategories,
  onChange,
  value
}) {
  return (
    <div>
      <Autocomplete
        id="categories"
        disablePortal
        multiple
        getOptionLabel={(category) => category.catName}
        options={categories}
        disableGutters
        isOptionEqualToValue={(option, value) =>
          option.catName === value.catName
        }
        renderOption={(props, categories) => (
          <li {...props} key={categories.id}>
            {categories.catName}
          </li>
        )}
        renderTags={(value, getTagProps) =>
          value.map((option, index) => (
            <Chip
              key={option.id}
              label={option.catName}
              {...getTagProps({ index })}
            />
          ))
        }
        renderInput={(params) => (
          <TextField {...params} placeholder="類別" />
        )}
        value={value}
        onChange={onChange}
      />
    </div>
  );
}

Je ne sais pas ce qui me manque ici, pourquoi je ne peux pas ajouter ou supprimer une balise de la saisie semi-automatique !

P粉649990273
P粉649990273

répondre à tous(1)
P粉512526720

Mettez à jour votre tableau useEffectdependencies. https://legacy.reactjs.org/docs/hooks-effect.html []signifie appelé uniquement lors du montage

Il sera appelé à chaque rendu

  useEffect(() => {
    const getPost = async () => {
      try {
        setCategories(postInfo[0].categories);
        setSelectedCategories(postInfo[0].categories);
      } catch (err) {}
    };
    getPost();
  }, []); //<--- 改變
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal