ラベルを揃えて、sweetalert2の同じ行にあるドロップダウンを選択します[クローズ]

Jan 05 2021

たとえば、sweetalert2を使用してラベルとドロップダウンを同じ行に揃えることができる場所を探しています。

これを実現するためにカスタムラベルを追加しようとしましたが、別の行に表示され、[OK]ボタンをクリックして選択したドロップダウンをコンソール表示したいと思います。

以下は私のstackblitzです。

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

回答

1 LimonMonte Jan 06 2021 at 01:52

inputLabel+customClassパラメータを使用します:

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> 

についてもっと読むcustomClass:https://sweetalert2.github.io/#customClass

1 AhmedMaher Jan 05 2021 at 11:42

プレーン/スタイル付きのhtmlを使用して、次のように通常どおりドロップダウン値をキャッチできます。

 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
  }

   });