この記事では、チェックボックスコンポーネントのカプセル化を実装するためのvue3.0の具体的なコードを参考までに紹介します。具体的な内容は次のとおりです。 一般的な手順:
<!-- 基本的なコンポーネント スタイル --> <テンプレート> <div class="xtx-checkbox" @click="changeChecked()"> <i v-if="チェック済み" class="iconfont icon-checked"></i> <i v-else class="iconfont icon-unchecked"></i> <span v-if="$slots.default"><スロット /></span> </div> </テンプレート> <スクリプト> 'vue' から { ref } をインポートします エクスポートデフォルト{ 名前: 'XtxCheckbox', 設定 () { const チェック済み = ref(false) 定数changeChecked = () => { チェックされた値 = !チェックされた値 } 戻り値: {checked, changeChecked} } } </スクリプト> <style スコープ lang="less"> // スタイルは適宜変更できます。xtx-checkbox { 表示: インラインブロック; 右マージン: 2px; .アイコンチェック済み{ 色: @xtxColor; ~ スパン { 色: @xtxColor; } } 私 { 位置: 相対的; 上: 1px; } スパン { 左マージン: 2px; } } </スタイル> // 注: グローバルに使用する必要がある場合は、グローバル コンポーネントとして登録する必要があります。 <!-- v-model ディレクティブを実装する --> ...構造<script>を省略する 'vue' から { toRef } をインポートします エクスポートデフォルト{ 名前: 'XtxCheckbox', 小道具: { modelValue: { // v-modelのデフォルトのバインディング値はmodelValueです タイプ: ブール値、 デフォルト: false } }, セットアップ(props、{emit}){ const checked = toRef(props, 'modelValue') // 受信したブール値を格納するためにcheckedを定義します。const changeChecked = () => { emitting('update:modelValue', !checked.value) // チェックボックスをチェックするために親コンポーネントに値を渡します} 戻り値: {checked, changeChecked} } } </スクリプト> ...楕円形スタイル <!-- 基本的な使用方法 --> <!-- カスタム チェックボックス テスト --> <xtx-checkbox v-model="checked">カスタムチェックボックス</xtx-checkbox> <スクリプト> 'vue' から { ref } をインポートします エクスポートデフォルト{ 名前: 'サブカテゴリ', 設定 () { const チェック済み = ref(true) チェック済みを返す } } </スクリプト> <!-- @vueuse/core 関数の記述 --> <テンプレート> <div class="xtx-checkbox" @click='checked=!checked'> <i v-if="チェック済み" class="iconfont icon-checked"></i> <i v-else class="iconfont icon-unchecked"></i> <span> <スロット /> </span> </div> </テンプレート> <スクリプト> import { useVModel } from '@vueuse/core' // npm i @vueuse/core または yarn add @vueuse/core が必要です エクスポートデフォルト{ 名前: 'XtxCheckbox', 小道具: { モデル値: { タイプ: ブール値、 デフォルト: false } }, セットアップ(props、{emit}){ // 親コンポーネントから渡された modelValue の値を取得します。const checked = useVModel(props, 'modelValue', emitting) チェック済みを返す } } </スクリプト> // 使用方法は上記と同じ <xtx-checkbox v-model="checked">カスタム チェックボックス</xtx-checkbox> <スクリプト> 'vue' から { ref } をインポートします エクスポートデフォルト{ 名前: 'サブカテゴリ', 設定 () { const チェック済み = ref(true) チェック済みを返す } } </スクリプト> 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
1. 親コンポーネントはpropsを通じて子コンポーネントにデータを渡すことができる2. 子コンポー...
ネットワークリクエストを送信すると、次の保存情報が表示されます。おめでとうございます。ドメインを越え...
デバッグブランチプロジェクトの通常の開発中に、以前にリリースされたバージョンにバグがある場合がありま...
オンライン ビジネスにとってデータの一貫性と整合性が重要であることは明らかです。データが失われないよ...
目次ログはどこに保存されますか?コンテナ内のアプリケーションからのログを表示するDockerデーモン...
DNSとはDNS の正式名称は Domain Name System で、ドメイン名解決システムを意...
1. Apache Benchの紹介ApacheBench は、Apache サーバーに付属する W...
目次1. innodb_buffer_pool_size 2. innodb_log_buffer_...
1. MyISAM ストレージエンジン欠点:トランザクションはサポートされていません最小粒度ロック:...
オブジェクト上にマウスを移動したときにコンテンツ(タイトル属性の内容)を折り返す方法、HTML タイ...
目次背景MySQLが完全に起動したかどうかを確認する方法事故最初の変更2回目の改訂要約するMySQL...
1. 要件Vue.js フレームワークを使用してフロントエンド プロジェクトを開発する場合、サーバ...
最近、複数のdivにあるテーブルのTDを同じ幅に調整しても、揃えることができず、幅にパターンがないこ...
この記事の例では、書籍ショッピングカート機能を実現するためのVueの具体的なコードを参考までに共有し...
次のようなシナリオがあります。円形のコンテナで、最も外側のコンテナの背景が円弧になっています。内側の...