まとめ
select2-theme-bootstrap4
パッケージを追加する。- SASS の
laravel/resources/sass/app.scss
でselect2-theme-bootstrap4/dist/select2-bootstrap.min.css
を読み込む。 - Select2 の初期設定で、
theme: "bootstrap"
とする。
select2-theme-bootstrap4
パッケージを追加する。laravel/resources/sass/app.scss
で select2-theme-bootstrap4/dist/select2-bootstrap.min.css
を読み込む。theme: "bootstrap"
とする。都道府県のセレクトボックスを Select2 で作る。フォーム入力で選択肢を絞りこめるが、このとき選択肢文字列だけではなくひらがな、アルファベット (半角) でも絞り込めるようにしたい。
Select2 に渡す選択肢の配列は次を想定している。
const options = [
{ id: "1", text: "北海道", hiragana: "ほっかいどう", alphabet: "hokkaido" },
{ id: "2", text: "青森県", hiragana: "あおもりけん", alphabet: "aomoriken" },
{ id: "3", text: "岩手県", hiragana: "いわてけん", alphabet: "iwateken" },
{ id: "4", text: "宮城県", hiragana: "みやぎけん", alphabet: "miyagiken" },
{ id: "5", text: "秋田県", hiragana: "あきたけん", alphabet: "akitaken" },
];
ちなみに本投稿は Vue.js 3 で Select2 をラップして SFC (シングルファイルコンポーネント) としてコンポーネント化する例 – oki2a24 の続きにあたります。
次のことを行えば可能と予想し、実際に実現できました。
Vue.js 2 では、 ラッパーコンポーネント — Vue.js にて実際に Select2 のラッパーを作った例が提示されていました。
今回、 Vue.js 2 ではなく、 Vue.js 3 でこれを使いたい、というのが目的です。
なお、本投稿は Vue.js 3 でラップしてコンポーネント化した Dropzone.js の SFC (シングルファイルコンポーネント) を作り、利用する例を作った – oki2a24 の続きとなります。
GET api/files
ファイル情報の配列を取得する。GET api/files/{file}
指定したファイル情報を取得する。POST api/files
ファイルを登録する。PATCH api/files/{file}
指定したファイルを更新する。DELETE api/files/{file}
指定したファイルを削除する。GET api/files
ファイル情報の配列を取得する。GET api/files/{file}
指定したファイル情報を取得する。POST api/files
ファイルを登録する。PATCH api/files/{file}
指定したファイルを更新する。DELETE api/files/{file}
指定したファイルを削除する。ファイル登録時などのレスポンスは、最初、 URL だけでいいや、 DB で管理したく無いし、と思っていました。 しかし、 How to show files already stored on server – FAQ · Wiki · Matias Meno / Dropzone · GitLab を読むと name, size, url が Dropzone.js では必要なようです。 なので、面倒ではありますが DB でこれらを管理しようと思います。。。 こうなると、例えば POST 時のレスポンスは次のようになるかと思います。
{
"name": "file.jpg",
"size": 12345,
"url": "http://localhost/storage/files/rXVtdVkqRvR7G0PYZUtupJNPmM9mPhdqrvkHI4Ly.jpg"
}
<php>
要素 (PHP INI 項目や定数、グローバル変数の設定) では、既存の環境変数は上書きされない。上書きしたいならば、 force
属性を使う。
ドキュメントはこちら。といいますか、 phpunit.xml で検索して最初のページでした。
2021年5月4日現在、 Dropzone.js を Vue.js から簡単に使えるようにするためのライブラリの状況は、
createApp
の引数に Vue.js のルートとなるシングルファイルコンポーネント (SFC) を指定すればよい。App.js
router/index.js
npm install --save-dev vue-router@4
でインストールlaravel/routes/web.php
がリクエストを受け付ける。このとき、どんな URL でも 1 つの Blade ビューを返すように設定する。<div id="app"></div>
や <script src="{{ mix('/js/app.js') }}"></script>
などにより、 Vue.js を使えるようになる。