この記事では、チェックボックスコンポーネントのカプセル化を実装するための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 バッチ挿入の問題プロジェクトを開発しているときに、古いシステムの基本データを事前にインポ...
約 1 年前、私は「虫眼鏡効果を模倣するいくつかの方法の原理の分析」という記事を書きました。当時、自...
Linux の操作と構成作業では、デュアル ネットワーク カードのバインディングがよく使用されます。...
vueの部分は以下のとおりです。 <テンプレート> <ビュークラス="&...
故障したストレージ ドライブからデータを救出する場合でも、アーカイブをリモート ストレージにバックア...
最近、フロントエンドの vue.js ドッキング機能モジュールに取り組んでいたとき、画像をダウンロー...
目次導入例要約する導入$属性すべての親コンポーネントのプロパティを継承します (props を通じて...
1.17.9 本当はもっと美味しいNginx のダウンロード アドレス: https://nginx...
TW のメインテキスト ページは、以前は小さなモニターと低解像度のユーザーを考慮して幅が 850 ピ...
<tfoot> タグは、テーブル フッターのスタイルを定義するために使用されます。基本構...
以下はcentos7での設定方法ですsystemc ソース パッケージをダウンロード: System...
目次序文1. クロージャとは何ですか? 1.1 クロージャは条件コードを満たす1.2 クロージャ生成...
目次1. MySQL アーキテクチャ2. ネットワーク接続層3. データベースサービス層4. 接続プ...
次のコマンドを使用できます: docker tag [イメージID] [名前]:[バージョン]例えば...
目次1. ビューフック1. ngAfterViewInit および ngAfterViewCheck...