カスタマイズした内容
<template>
の<div>
要素のid
ではなく、<div>
要素そのものを Dropzone を紐づくようにした。- Dropzone の options を渡せるようにした。
<template>
の <div>
要素の id
ではなく、 <div>
要素そのものを Dropzone を紐づくようにした。props
の変更検知は 1 つの watch にまとめられるのではないか?本投稿は時系列としては Laravel 6 、 Vue.js 3 の SPA で npm run production
が失敗する問題を修正する – oki2a24 の続きとなります。
環境構築と指定は、 Laravel 6 で Vue.js 3 を使えるようにするまでの試行錯誤の記録 – oki2a24 の続きとなります。純粋な時系列としては Laravel 6 の Vue.js 3 で、デイトピッカー flatpickr のラッパーシングルファイルコンポーネント (SFC) を作った – oki2a24 の続きとなります。
ちなみに、 Vue.js 3 でラップしてコンポーネント化した Dropzone.js にちょっとしたカスタマイズをいくつか加えた – oki2a24 あたりの続きになります。
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 の続きとなります。