この記事では、チェックボックスコンポーネントのカプセル化を実装するための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 を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
MySQL データベースを使用すると、他のユーザーが定義したストアド プロシージャを他のユーザーが変...
序文Vue で要素を初回取得できない問題の解決方法は、ポップアップ ウィンドウで要素を取得するために...
この記事では、以下の環境をテストします。 CentOS 7 64 ビット 最小 MySQL 5.7 ...
目次安定導入手ぶれ補正シーン1(マウスの動き込み)手ぶれ補正シーン2(キーボードのキー)関数のスロッ...
1. コマンドの紹介ファイル コマンドは、ファイルの種類を識別するために使用されます。ファイル チェ...
MySQL はインストールが簡単で、高速で、豊富な機能を備えています。これはオープンソース運動のベン...
私はデータベースツールとして Navicat を使用しています。他のものも同様です。 1. Navi...
なぜprettierを使うのですか?大企業では、フロントエンド開発コードに独自のコード標準がある場合...
HTML フォームは、さまざまな種類のユーザー入力を収集するために使用されます。 HTML フォー...
データ URI スキームを使用すると、HTML、CSS、Javascript などで使用できるインラ...
1. Animate.css の紹介Animate.css は、Web プロジェクトですぐに使用で...
123WORDPRESS.COM HTML チュートリアル セクションに戻るには、ここをクリックして...
目次序文導入JavaScript 履歴 API独自のネイティブJSルーティングを実装するHistor...
構成の序文プロジェクト構築: vue-cli3 をベースに構築、rem 適応には postcss-p...
私の友人の多くは、127.0.0.1 と localhost の違いがわからず、問題に遭遇するかもし...