vue3 二次封裝uni-ui中的組件,并且組件中有 v-model 的解決方法

在使用uniapp+vue3開發中, 使用了uni-ui的組件,但是我們也需要自定義組件,比如我要自定一個picker 的組件, 是在 uni-data-picker 組件的基礎上進行封裝的
父組件中的代碼

<classesselect :selectclass="selectclass" :classinfotree="classinfotree"></classesselect>
<script setup>
import classesselect from "./components/classesselect.vue"//班級選項數據
const classinfotree = ref([{text:"摩爾英語1班",value:1
},{text:"摩爾英語2班",value:2
},{text:"摩爾英語3班",value:3
}]);//父組件中記錄選中的數據	
const selectclass = ref(3)</script>

如下圖:子組件的名稱是 classesselect ,代碼如下

<template><view class="comwrapper"><view class="typesel"><view class="underline"><uni-data-picker :clear-icon="false" :localdata="classinfotree"    //這里接收你組件傳來的 選項數據v-model="classselect"	//這里是選中的數據  **********這里其實就是用錯誤的了 錯誤 錯誤 錯誤*********></uni-data-picker></view></view></view>
</template>
<script setup>
//班級選擇器	
import { ref } from "vue"const props = defineProps(["classinfotree","selectclass"])
</script>

上面的代碼就已經出現錯誤了, 更別說運行了, 因為 子組件的v-model ,直接在子組件中改變了 父組件傳來的值 ,這在vue3中是不被允許的

解決辦法:我們來先看一下,官網對 v-model的解釋
在這里插入圖片描述
可以看到, 問題就在 @update:model-value=''newValue => searchText = newValue ",這個代碼中,它就相當于在子組件中, 修改了父組件的代碼

所以, 我們對 子組件的 v-model 進行還原,并且 改寫 update:model-value 的方法就可以了

下面是解決之后的代碼
首選, 我們把子組件中的 v-model 的代碼還原

同時子組件中實現方法

function handleModelValue (val) {emits('update:modelValue', val)  //觸發父組件中的方法, 并把新的子組件中的值傳送到父組件中
}

————————————
然后是父組件中的代碼
在這里插入圖片描述

在這里插入圖片描述
通過以上的改寫, 就可以正常的封裝 uniui中 帶有 v-model 的組件了

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/72988.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/72988.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/72988.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Spring Boot啟動流程及源碼實現深度解析

Spring Boot啟動流程及源碼實現深度解析 一、啟動流程概述 Spring Boot的啟動流程圍繞SpringApplication類展開&#xff0c;核心流程可分為以下幾個階段&#xff1a; 初始化階段&#xff1a;推斷應用類型&#xff0c;加載ApplicationContextInitializer和ApplicationListene…

爬蟲案例七Python協程爬取視頻

提示&#xff1a;文章寫完后&#xff0c;目錄可以自動生成&#xff0c;如何生成可參考右邊的幫助文檔 文章目錄 前言一、Python協程爬取視頻 前言 提示&#xff1a;這里可以添加本文要記錄的大概內容&#xff1a; 爬蟲案例七協程爬取視頻 提示&#xff1a;以下是本篇文章正文…

uni-app開發的App和H5嵌套封裝的App,以及原生App有什么區別

uni-app 開發的 App 和 H5 嵌套封裝的 App 是兩種不同的開發模式&#xff0c;雖然它們都可以實現跨平臺開發&#xff0c;但在技術實現、性能、功能支持等方面有顯著區別。以下是詳細對比&#xff1a; 1. uni-app 開發的 App uni-app 是一個基于 Vue.js 的跨平臺開發框架&#…

Python 爬蟲實戰案例 - 獲取拉勾網招聘職位信息

引言 拉勾網&#xff0c;作為互聯網招聘領域的佼佼者&#xff0c;匯聚了海量且多樣的職位招聘信息。這些信息涵蓋了從新興科技領域到傳統行業轉型所需的各類崗位&#xff0c;無論是初出茅廬的應屆生&#xff0c;還是經驗豐富的職場老手&#xff0c;都能在其中探尋到機遇。 對…

LM Studio 替換源的方式解決huggingface.co無法訪問的問題

安裝軟件完成之后&#xff0c;不要打開&#xff0c;打開了就直接關閉 在安裝目錄下&#xff0c;比如我安裝在E:\Program Files\LM Studio 下面三個文件中的huggingface.co全部替換為hf-mirror.com然后再打開即可。 E:\Program Files\LM Studio\resources\app\.webpack\rende…

【模擬CMOS集成電路設計】帶隙基準(Bandgap)設計與仿真(基于運放的電流模BGR)

【模擬CMOS集成電路設計】帶隙基準&#xff08;Bandgap&#xff09;設計與仿真 前言工程文件&部分參數計算過程&#xff0c;私聊~ 一、 設計指標指標分析&#xff1a; 二、 電路分析三、 仿真3.1仿真電路圖3.2仿真結果(1)運放增益(2)基準溫度系數仿真(3)瞬態啟動仿真(4)靜態…

微服務拆分-遠程調用

我們在查詢購物車列表的時候&#xff0c;它有一個需求&#xff0c;就是不僅僅要查出購物車當中的這些商品信息&#xff0c;同時還要去查到購物車當中這些商品的最新的價格和狀態信息&#xff0c;跟購物車當中的快照進行一個對比&#xff0c;從而去提醒用戶。 現在我們已經做了服…

機動車授權簽字人考試的報名條件是什么?

機動車授權簽字人考試的報名條件通常如下&#xff1a; 學歷職稱與工作經驗要求 中級職稱及以上&#xff1a;應具備中級及以上專業技術職稱&#xff0c;且從事相關檢驗檢測工作三年及以上。如果承檢車型有專項作業車、大型客車、校車和危險貨物運輸車等&#xff0c;若不是相關專…

智慧工廠監測信息系統:構筑安全的數字化未來

在現代工業的浪潮中&#xff0c;智慧工廠已成為推動生產效率和產品質量提升的關鍵力量。為了確保這一先進生產模式的穩健運行&#xff0c;智慧工廠監測信息系統應運而生&#xff0c;并通過一系列安全措施&#xff0c;為企業的數字化轉型保駕護航。 安全注冊&#xff0c;筑牢第…

P2P中NAT穿越方案(UDP/TCP)(轉)

轉自&#xff1a;P2P中NAT穿越方案&#xff08;UDP/TCP&#xff09;_udp反向鏈接-CSDN博客 同&#xff1a;P2P中NAT穿越方案&#xff08;UDP/TCP&#xff09; - 知乎 (zhihu.com) 本文介紹了傳統基于udp的打洞方式&#xff0c;更進一步闡述了tcp打洞的原理&#xff0c;是對于…

算法 之 樹形dp 樹的中心、重心

文章目錄 重心實踐題目小紅的陡峭值 在樹的算法中&#xff0c;求解樹的中心和重心是一類十分重要的算法 求解樹的重心 樹的重心的定義&#xff1a;重心是樹中的一個節點&#xff0c;如果將這個點刪除后&#xff0c;剩余各個連通塊中點數的最大值最小&#xff0c;那么這個節點…

游戲引擎學習第146天

音高變化使得對齊讀取變得不可能&#xff0c;我們可以支持循環聲音了。 我們今天的目標是完成之前一段時間所做的音頻代碼。這個項目并不依賴任何引擎或庫&#xff0c;而是一個教育項目&#xff0c;目的是展示從頭到尾運行一個游戲所需要的全部代碼。無論你對什么方面感興趣&a…

深入理解MySQL主從原理

導讀 高鵬&#xff08;網名八怪&#xff09;&#xff0c;《深入理解MySQL主從原理》系列文的作者。 本系列通過GTID、Event、主庫、從庫、案例分析&#xff0c;五大塊來詳細講解主從原理。 這篇文章重在學習筆記整理&#xff01; 在學習《深入理解MySQL主從原理》一書時&…

前端數據模擬利器 Mock.js 深度解析

前端數據模擬利器 Mock.js 深度解析 一、Mock.js 核心價值 1.1 為何需要數據模擬 前后端并行開發加速接口文檔驅動開發異常場景模擬測試演示環境數據構造 1.2 Mock.js 核心能力 // 典型數據生成示例 Mock.mock(/api/user, {"users|5-10": [{"id|1": 1…

Phi-4-multimodal:圖、文、音頻統一的多模態大模型架構、訓練方法、數據細節

Phi-4-Multimodal 是一種參數高效的多模態模型&#xff0c;通過 LoRA 適配器和模式特定路由器實現文本、視覺和語音/音頻的無縫集成。訓練過程包括多階段優化&#xff0c;確保在不同模式和任務上的性能&#xff0c;數據來源多樣&#xff0c;覆蓋高質量網絡和合成數據。它的設計…

前后端數據加密傳輸【最佳方案】

AES和RSA區別 算法類型安全性密鑰長度/輸出長度速度應用場景AES對稱加密高128位、192位、256位快適用于大規模數據加密&#xff0c;入HTTPS協議的數據傳輸RSA非對稱加密高1024位、2048位、4096位較慢適用于數據安全傳輸、數字簽名和身份驗證 綜上&#xff1a;兼顧安全性和性能…

Unity--Cubism Live2D模型使用

了解LIVE2D在unity的使用--前提記錄 了解各個組件的作用 Live2D Manuals & Tutorials 這些文件都是重要的控制動畫參數的 Cubism Editor是編輯Live2D的工具&#xff0c;而導出的數據的類型&#xff0c;需要滿足以上的條件 SDK中包含的Cubism的Importer會自動生成一個Pref…

Linux | Vim 鼠標不能右鍵粘貼、跨系統復制粘貼

注&#xff1a;本文為 “ Vim 中鼠標右鍵粘貼、跨系統復制粘貼問題解決方案” 相關文章合輯。 未整理去重。 Linux 入門&#xff1a;vim 鼠標不能右鍵粘貼、跨系統復制粘貼 foryouslgme 發布時間 2016 - 09 - 28 10:24:16 Vim基礎 命令模式(command-mode)插入模式(insert-m…

Flink-DataStreamAPI-執行模式

一、概覽 DataStream API支持不同的運行時執行模式&#xff0c;我們可以根據用例的要求和作業的特征進行選擇。 STREAMING執行模式&#xff1a;被稱為“經典”執行模式為&#xff0c;主要用于需要持續增量處理并且預計無限期保持在線的無界作業BATCH執行模式&#xff1a;類似…

解決VScode 連接不上問題

問題 &#xff1a;VScode 連接不上 解決方案&#xff1a; 1、手動殺死VS Code服務器進程&#xff0c;然后重新嘗試登錄 打開xshell &#xff0c;遠程連接服務器 &#xff0c;查看vscode的進程 &#xff0c;然后全部殺掉 [cxqiZwz9fjj2ssnshikw14avaZ ~]$ ps ajx | grep vsc…