J'utilise la liste déroulante multiselect, ce que je veux, c'est ce que j'ai sélectionné dans la liste déroulante pour l'envoyer au serveur en appelant une API qui contient un paramètre de requête pour accueillir ces résultats de liste déroulante. J'ai fait un tableau d'articles sélectionnés. Array (3) ["IphoneXR", "Nokia", "Samsung"] Je veux que ce tableau soit transmis à l'URL ci-dessous comme ceci: < http://localhost:8080/details?dropdown=IphoneXR,Nokia,Samsung Avec mon approche, je me retrouve avec ceci: http: // localhost: 8080 / details? Dropdown [] = IphoneXR & dropdown [] = Nokia . Je ne sais pas pourquoi dropdown [] arrive deux fois. Quelqu'un peut-il m'aider s'il vous plaît

0
Singh 30 juin 2020 à 12:55

2 réponses

Meilleure réponse

Convertissez le tableau en chaîne et transmettez la valeur dans le paramètre de requête.

multiSelectHandler = (option) => {
    const details = option.selectedItems;
   const stringData =  details.map(({value}) => `${value}`).join(',');
   console.log(stringData);
  };

Tableau: Détails: Sortie dans la console

0: Object { value: "Iphone", label: "Iphone" }
    ​1: Object { value: "Samsung", label: "Samsung"}

Après conversion en chaîne: sortie dans la console, Iphone,Samsung

Passez maintenant cette stringData dans queryparam

0
Singh 30 juin 2020 à 10:24

Si vous le transmettez directement à une URL via les actions du formulaire, il l'enverra dans l'url comme suit: index.html? cars = saab & cars = opel & voitures = audi

Essayez de gérer le formulaire via js comme ceci Comment gérer le formulaire de sélection multiple dans ReactJS

0
bolarson 30 juin 2020 à 10:13