この記事では、チェックボックスコンポーネントのカプセル化を実装するための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 を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
CSSを使用してスクロールバーを変更する1.コンテンツがオーバーフローした場合のオーバーフロー設定水...
目次Vueのレスポンシブシステムの基本原則1. Object.definePropertyの使い方を...
フィルターとバックドロップフィルターにはいくつかの違いがあります。フィルターは現在の要素だけでなく、...
序文私は以前から、SQL 文がどのように実行され、どのような順序で実行されるのかを知りたいと思ってい...
この記事の例では、グラフィック検証コードを実装するためのVueプロジェクトの具体的なコードを参考まで...
この記事では、MySQL 5.7 で追加された json フィールド タイプの使用方法を例を使って説...
以前、CSS を使用してテーブルの border + bordercolordark + borde...
目次1. ジョブ実行のフォールトトレランス1.1 タスクフェイルオーバー戦略1.2 ジョブ再開戦略2...
123WORDPRESS.COM HTML チュートリアル セクションに戻るには、ここをクリックして...
この記事では主に、Vue で TodoList をカプセル化するケースと、ブラウザのローカル キャッ...
ClickHouse は、オープンソースの列指向 DBMS (Yandex によって開発) です。 ...
目次概要オブザーバーパターンの応用シナリオオブザーバーパターンの実装要約する概要オブザーバー パター...
1. MySQL にログインし、SHOW VARIABLES LIKE 'character...
プロフェッショナルな Web デザインは複雑で時間がかかります。 HTML と CSS フレームワー...
この記事では、テキストクロックを実装するためのキャンバスの具体的なコードを例として紹介します。具体的...