"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
633

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 ( 
<>

帖子类别:

setSelectedCategories(newSelectedCategories) } value={selectedCategories} />

已选择的类别:

); }

Sélectionnez les options PostsCats :

import categories from "./postsCategories.json"; export default function SelectPostsCatsOptions({ selectedCategories, setSelectedCategories, onChange, value }) { return ( 
category.catName} options={categories} disableGutters isOptionEqualToValue={(option, value) => option.catName === value.catName } renderOption={(props, categories) => (
  • {categories.catName}
  • )} renderTags={(value, getTagProps) => value.map((option, index) => ( )) } renderInput={(params) => ( )} value={value} onChange={onChange} />
    ); }

    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 tableauuseEffectdependencies.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
      À propos de nous Clause de non-responsabilité Sitemap
      Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!