Alinhe o rótulo e selecione o menu suspenso na mesma linha no sweetalert 2 [fechado]

Jan 05 2021

Estou procurando, por exemplo, onde posso alinhar rótulo e lista suspensa na mesma linha usando sweetalert2.

Eu tentei adicionar um rótulo personalizado para conseguir isso, mas vai em uma linha diferente e eu gostaria de consolar a lista suspensa selecionada clicando no botão OK.

Abaixo está meu stackblitz.

https://stackblitz.com/edit/angular-sweetalert-dropdown

Respostas

1 LimonMonte Jan 06 2021 at 01:52

Use inputLabel+ customClassparâmetros:

Swal.fire({
  title: 'Select + label in one row',
  input: 'select',
  inputOptions: {
    apples: 'Apples',
    bananas: 'Bananas',
    oranges: 'Oranges'
  },
  inputLabel: 'Select a fruit',
  customClass: {
    input: 'inline-flex',
    inputLabel: 'inline-flex'
  }
})
.inline-flex {
  display: inline-flex !important;
  margin: .5em !important;
}
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@10"></script> 

Leia mais sobre customClass:https://sweetalert2.github.io/#customClass

1 AhmedMaher Jan 05 2021 at 11:42

Você pode usar html simples / estilizado e capturar o valor da lista suspensa normalmente da seguinte maneira:

 Swal.fire({

  showCancelButton: true,
  type: "warning",
  html: ` select reason <select name="cars" id="cars">
          <option value="volvo">Volvo</option>
          <option value="saab">Saab</option>
          <option value="mercedes">Mercedes</option>
          <option value="audi">Audi</option>
          </select>`,

  preConfirm: function() {
  var elm = document.getElementById("cars");
  alert(elm.value); // use user selected value freely
  }

   });