マルチ選択は、すべてのオプションを一覧表示し、ユーザーが Ctrl/Shift キーを使用して複数選択できるようにする UI 要素です。これは一般的なデザイン要素です。場合によっては、スペースを節約するために、オプションをコンボ ボックスに折りたたむことがあります。ユーザーの操作を容易にするために、このコンポーネントには「すべて選択」と「すべてクリア」の 2 つのボタンも追加され、ユーザーは選択をすばやく選択またはクリアできます。この UI 要素は、以前は相関プロット アプリで使用されていました。 コンポーネントの登録 Multi-Select コンポーネントの登録は、カプセル化されたコードをコピーして貼り付けるだけです。ここでグローバル コンポーネントを登録することをお勧めします。 この要素は、2 つのモードを念頭に置いて設計されています。1 つ目は、上の例のグラフィックに示すように、新しいオプションをクリックするたびに古いオプションが保持され、新しいオプションが追加されるというものです。これはより一般的な方法です。 2 つ目は、新しいオプションをクリックするたびに、古いオプションがクリアされ、新しいオプションのみが保持されることです。この方法を使用して複数選択を行う場合は、Ctrl/Shift キーを使用する必要があります。この設計により、ユーザーはクリックするたびに古いオプションを簡単に削除できます。 2 番目の方法を使用する場合は、イベント <script type="text/x-template" id="複数選択テンプレート"> … <tr v-for = "(item,index) in columns" @click.exact="選択した列に追加または削除" @click.shift.exact="選択した列に複数追加" @click.ctrl.exact="選択した列に追加または削除" :title="function(item){if(item.longname){return '短縮名: ' + item.name + '\n----------------\n' + item.longname}else{return item.name}}(item)" クラス="列リストエントリ"> ... </tr> </スクリプト> <スクリプト> Vue.component("複数選択", { テンプレート: "#multi-select-template", … </スクリプト> コンポーネントの呼び出し カスタムタグを直接追加する <複数選択:凡例名="凡例名" :columns="列" :selected_columns="選択された列" @update_selected_columns="選択された列の変更時"> </複数選択> データの受け渡し 最後に、データをコンポーネントに渡す必要があります。 v-bind を使用すると、データを親コンポーネントのデータに動的にバインドできます。 props では、legend_name は Multi-Select で表示する必要がある名前にバインドされ、columns は Multi-Select のオプションにバインドされ、selected_columns は現在選択されている項目にバインドされます。さらに、Multi-Select コンポーネントの表示を更新するために、親インスタンスでイベント「onSelectedColumnsChange」を定義する必要もあります。 データ: 関数(){ 戻る { legend_name: "入力列", 列: [ {"name":"A","longname":"銅"}, {"name":"B","longname":"アルミニウム アルミニウム"}, {"name":"C","longname":"カルシウム"}, {"name":"D","longname":"カルシウム"}, ]、 選択された列: [], } }, ... 方法:{ onSelectedColumnsChange:function(new_columns) { this.selected_columns = 新しい列; }, }, ... これで、Vue マルチ選択リスト コンポーネントの詳細な説明は終了です。Vue マルチ選択リスト コンポーネントに関するより関連性の高いコンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: Tomcatを自動的に開始するサービスとして設定するにはどうすればいいでしょうか?最も簡単な方法
>>: CentOS 6.5 i386 インストール MySQL 5.7.18 詳細チュートリアル
ワーカープロセスは、起動されると、まず自身の動作に必要な環境を初期化し、次に実行する必要があるイベン...
フロントエンド開発者としては、IEの落とし穴は避けて通れません。他のブラウザはいいのにIEは壊れてい...
最近、Docker イメージのプルが非常に不安定です。遅く、タイムアウトすることがよくあります。 x...
ジブの紹介Jib は Google が開発した、Java アプリケーションの Docker および ...
コンテンツ プロパティは CSS 2.1 で導入され、:before および :after 疑似要素...
Xhtml には、あまり使用されないが非常に便利なタグが多数あります。半分の労力で 2 倍の結果を達...
目次ブラウザのレンダリングメカニズムリフローと再塗装リフロー逆流を引き起こす行為:再描画再描画を引き...
まず、Webフロントエンドエンジニアの価値についてお話ししましょう。現在、Web製品のインタラクショ...
私はずっとDockerにはIPアドレスがないと思っていました。実はDockerのネットワークテンプレ...
Linux の seq コマンドは、数字のリストを非常に高速に生成でき、使いやすく柔軟性に優れてい...
序文MySQL は最も人気のあるリレーショナル データベース管理システムです。WEB アプリケーショ...
この記事では、Ubuntuサーバーバージョンのインストールグラフィックチュートリアルを参考までに紹介...
目次序文パブリッシュ・サブスクライバ・パターン結果電話要約する序文双方向データ バインディングとは、...
目次1. 即時フィードバック1.1 ボタンからの即時フィードバック1.2 継続的なフィードバック1....
数日前、CSS で 3 列レイアウトを書いていたときに、突然この方法を思いつきました。このアイデアは...