小程序如何封裝自定義組件(Toast)

1、創建和pages 同級的component目錄新建一個myToast目錄 例如:

2、myToast.wxml文件內容:

<!-- 自定義toast組件 -->
<!-- name 模塊名稱   --><template name="toast" ><!-- catchtouchmove=‘xxx’ 遮罩層的滾動穿透 --><!-- isHide 顯示消失 --><view class="toast_content_box" wx:if="{{ isHide }}" 
catchtouchmove="preventdefault">  <view class="toast_content">  <view class='toast_content_text'><!-- 內容 -->{{content}} </view></view>  </view> </template> 
復制代碼

3、myToast.wxss文件樣式(根據自己ui樣式去寫):

.toast_content_box {  overflow: hidden;display: flex;  width: 100%;  height: 100%;  justify-content: center;  align-items: center;  position: fixed;  z-index: 999;  background-color: rgba(0, 0, 0, 0.3)
} 
.toast_content {  width: 50%;padding: 30rpx;background-color: rgba(0, 0, 0, 0.8);border-radius: 20rpx;
}  
.toast_content_text {  width: 100%;height: 100%;background-size: 100% 100%;background-repeat: no-repeat;text-align: center;color: #fff;font-size: 28rpx;font-weight: 300;
}復制代碼

4、myToast.js文件內容:

let _compData = {'_toast_.isHide': false,// 控制組件顯示隱藏'_toast_.content': '',// 顯示的內容
}
let toastPannel = {// toast顯示的方法ShowToast: function (data) {let self = this;this.setData({ '_toast_.isHide': true, '_toast_.content': data });},// toast隱藏的方法HideToast: function (data) {let self = this;self.setData({ '_toast_.isHide': false })},// toast顯示的方法 2000后隱藏ShowToastTime: function (data) {let self = this;this.setData({ '_toast_.isHide': true, '_toast_.content': data });setTimeout(() => {this.setData({ '_toast_.isHide': false, '_toast_.content': data });}, 2000)},
}function ToastPannel() {// 拿到當前頁面對象let pages = getCurrentPages();let curPage = pages[pages.length - 1];this.__page = curPage;// 小程序最新版把原型鏈干掉了。。。換種寫法Object.assign(curPage, toastPannel);// 附加到page上,方便訪問curPage.toastPannel = this;// 把組件的數據合并到頁面的data對象中curPage.setData(_compData);return this;
}
module.exports = {ToastPannel
}
復制代碼

5、全局引入, 在項目中的app.js中將組件腳本引入供全局使用,引入方法:接收暴露出來的構造函數

6、 全局引入樣式在app.wxss

7、在需要使用該組件的頁面將模塊引入:

8、在引入模塊組件 同級的js中實例組件的構造函數:

9、點擊按鈕實現效果

組件比較簡單、如果需求不同另行修改。

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

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

相關文章

2017 百度杯丶二月場第一周WP

1.禍起北荒 題目&#xff1a; 億萬年前 天子之子華夜&#xff0c;被父神之神末淵上神告知六荒十海之北荒西二旗即將發生一場“百度杯”的諸神之戰 他作為天族的太子必須參與到此次諸神之戰定六荒十海 華夜臨危受命&#xff0c;馬上帶著火鳳凰飛行到北荒“西二旗” 卻沒想到這六…

docker保存對容器的修改

Docker 子命令: attach commit diff export history import insert kill login port pull restart rmi save start tag version build cp events help images info inspect load logs ps …

中國涉5.9億份簡歷信息泄露

據美國科技媒體ZDNet報道&#xff0c;有研究人員發現&#xff0c;中國企業今年前3個月出現數起簡歷信息泄漏事故&#xff0c;涉及5.9億份簡歷。大多數簡歷之所以泄露&#xff0c;主要是因為MongoDB和ElasticSearch服務器安全措施不到位&#xff0c;不需要密碼就能在網上看到信息…

阿里云亮相2019聯通合作伙伴大會,邊緣計算等3款云產品助力5G時代產業數字化轉型...

4月23日&#xff0c;2019中國聯通合作伙伴大會在上海正式開幕&#xff0c;本次大會以“合作不設限&#xff0c;共筑新生態”為主題&#xff0c;涉及5G、邊緣計算、云計算、物聯網、新媒體、人工智能、互聯網化等各領域超過600家合作伙伴與3萬名各行業觀眾參會。據了解&#xff…

hadoop2.7 偽分布

hadoop 2.7.3偽分布式環境運行官方wordcounthadoop 2.7.3偽分布式模式運行wordcount 基本環境&#xff1a; 系統&#xff1a;win7 虛機環境&#xff1a;virtualBox 虛機&#xff1a;centos 7 hadoop版本&#xff1a;2.7.3 本次以偽分布式模式來運行wordcount。 參考&#xff1a…

iPhone手機屏幕尺寸(分辨率)

第一代iPhone2G屏幕為3.5英吋&#xff0c;分辨率為320*480像素&#xff0c;比例為3:2。 第二代iPhone3G屏幕為3.5英吋&#xff0c;分辨率為320*480像素&#xff0c;比例為3:2。 第三代iPhone3GS屏幕為3.5英吋&#xff0c;分辨率為320*480像素&#xff0c;比例為3:2。 第四代iPh…

[Java in NetBeans] Lesson 06. Custom classes

這個課程的參考視頻和圖片來自youtube。 主要學到的知識點有&#xff1a; Constructors: A special method called when an object of the class is createdproperty pattern and encapsulation(封裝): hide the implementation details from the user, so when the class is b…

UDP打洞NAT大致分為下面四類 P2P

NAT大致分為下面四類 1) Full Cone 這種NAT內部的機器A連接過外網機器C后,NAT會打開一個端口.然后外網的任何發到這個打開的端口的UDP數據報都可以到達A.不管是不是C發過來的. 例如 A:192.168.8.100 NAT:202.100.100.100 C:292.88.88.88 A(192.168.8.100:5000) -> NAT(202.1…

讓內核突破512字節的限制

轉載于:https://www.cnblogs.com/ZHONGZHENHUA/p/10124237.html

高頻算法面試題(字符串) 242. 有效的字母異位詞

leetcode 242. 有效的字母異位詞 給定兩個字符串 s 和 t &#xff0c;編寫一個函數來判斷 t 是否是 s 的一個字母異位詞。示例 1: 輸入: s "anagram", t "nagaram" 輸出: true 復制代碼示例 2: 輸入: s "rat", t "car" 輸出: fals…

struts2的漏洞

文章前半部分來自團隊小伙伴阿德馬的總結&#xff0c;后半部分的Poc和Exp是小編匆忙之際借鑒而來&#xff0c;感謝寫Poc和Exp的伙伴~ 安恒給官方上報的&#xff0c;然后官方選擇了1個對國內來說比較敏感的時期發了公告出來&#xff0c;好蛋疼。 該漏洞的CVE編號是CVE-2017-56…

Java Statement PK PrepareStatement

PreparedStatement是用來執行SQL查詢語句的API之一&#xff0c;Java提供了 Statement、PreparedStatement 和 CallableStatement三種方式來執行查詢語句&#xff0c;其中 Statement 用于通用查詢&#xff0c; PreparedStatement 用于執行參數化查詢&#xff0c;而 CallableStat…

mysql在linux 下安裝

安裝環境&#xff1a;系統是 centos6.5 1、下載 下載地址&#xff1a;http://dev.mysql.com/downloads/mysql/5.6.html#downloads 下載版本&#xff1a;我這里選擇的5.6.33&#xff0c;通用版&#xff0c;linux下64位 也可以直接復制64位的下載地址&#xff0c;通過命令下載&a…

Leetcode PHP題解--D47 868. Binary Gap

2019獨角獸企業重金招聘Python工程師標準>>> D47 868. Binary Gap 題目鏈接 868. Binary Gap 題目分析 給定一個數字&#xff0c;計算其二進制表示中&#xff0c;出現的兩個1最大距離。 思路 當然是先轉換成二進制了。再進行遍歷。 當只有一個1時&#xff0c;返回0。…

[洛谷P5048][Ynoi2019模擬賽]Yuno loves sqrt technology III

題目大意&#xff1a;有$n(n\leqslant5\times10^5)$個數&#xff0c;$m(m\leqslant5\times10^5)$個詢問&#xff0c;每個詢問問區間$[l,r]$中眾數的出現次數 題解&#xff1a;分塊&#xff0c;設塊大小為$S$&#xff0c;先可以預處理出兩兩塊之間的眾數出現次數&#xff0c;復雜…

C#接口實現多態

我比較喜歡對感興趣的理論進行反復的理解甚至理解背誦下來&#xff0c;接下來再復習一下什么叫多態&#xff08;哈哈哈&#xff09; 多態&#xff1a;在同一粒度視圖下對相同類型的事物不做區別的統一處理 接下來看一下接口和引擎類是如何實現多態的&#xff1a; 一、 1、創建了…

docker 網絡 不好用 docker: Error response from daemon: failed to create endpoint jovial_wing on network b

啟動容器時&#xff0c;有可能會遇到如下問題&#xff0c;比如啟動redis容器&#xff1a; sudo docker run -d -p 6379:6379 --name redis redis:latest Linux代碼docker: Error response from daemon: failed to create endpoint redis on network bridge: iptables failed: …

hadoop-hdfs-存儲模型-架構模型-角色介紹

轉載于:https://www.cnblogs.com/LXL616/p/10803978.html

docker 鏡像 導入導出

很喜歡玩docker&#xff0c;但最新遇到一個問題&#xff0c;公司給的新機器的dns有問題&#xff0c;導致pull不下來鏡像。 沒辦法了&#xff0c;沒有鏡像什么神馬都干不了&#xff0c;又不能花很多時間去搭建私有的鏡像庫&#xff0c;只有另尋辦法了。 廢話少說&#xff0c;經…

使用Nginx+uWSGI部署Django項目

1.linux安裝python3環境 參考鏈接&#xff1a;https://www.cnblogs.com/zzqit/p/10087680.html 2.安裝uwsgi pip3 install uwsgiln -s /usr/local/python3/bin/uwsgi /usr/local/bin/uwsgi #建立軟鏈接uwsgi --version #檢查安裝成功 3.基于uwsgidjango項目部署 django項目目…