微信小程式自制提示框(具有輸入文字功能)
微信小程式自帶的API中的頁面互動功能,雖然提示功能非常全面,但是所有的互動API中是沒有可以自己在提示框中輸入文字的功能,那麼現在我們來自己做這樣的一個提示框(可以帶有輸入功能),在提示框輸入完內容之後,點選確定,可以將文字內容返回,點選取消則可以回到之前的狀態。
(在這裡,主頁面的佈局可以根據每個人的想法來佈局,這裡展示的css之後展示提示框部分的)
1、首先開啟微信開發者工具,建立一個程式碼模板,那麼我們這個提示框就是寫在這個頁面上。
這裡我們主頁面叫做index
2、在基本頁面中寫上一個姓名的文字,當前姓名用<text>{{stuName}}</text>表示,然後為一個button按鈕,再在js檔案中,建立相應的點選事件以及stuName的資訊。這樣,一個原始頁面就寫好了。
下面我們開始彈出框頁面的製作
<view class='toast-box' hidden='{{!ifName}}'> <view class='toastbg'></view> <view class='showToast'> <view class='toast-title'> <text>修改姓名</text> </view> <view class='toast-main'> <view class='toast-input'> <input placeholder='請輸入姓名' bindinput='setValue' data-name='stuEidtName'></input> </view> </view> <view class='toast-button'> <view class='button1'> <button catchtap='cancel'>取消</button> </view> <view class='button2'> <button catchtap='confirm'>確定</button> </view> </view> </view> </view>
3、我們可以發現,點選按鈕後彈出輸入框,如果點選除取消和確定之外的地方,是不會有反應的。為了做到這個功能,我們用一個絕對位置的渲染層(toastbg),覆蓋住整個頁面,並且如果你的頁面長度沒有滾動的話,請輸入min—height:100vh,如果頁面發生滾動,請把長度控制在height:100%即可看到整個頁面都被覆蓋。並且這個覆蓋的頁面要表現為透明,opacity:0.2,即可
4、bindinput為寫文字時所觸發的事件,data-name為文字資料所儲存的地方,在js中我們可以把這個資料打印出來,會發現我們所輸入的文字資訊。
以下為css的程式碼
.toast-box { width: 100%; height: 100%; opacity: 1; position: fixed; top: 0px; left: 0px; } .toastbg { opacity: 0.2; background-color: black; position: absolute; width: 100%; min-height: 100vh; } .showToast { position: absolute; opacity: 1; width: 70%; margin-left: 15%; margin-top: 40%; } .toast-title { padding-left: 5%; background-color: #2196f3; color: white; padding-top: 2vh; padding-bottom: 2vh; border-top-right-radius: 16rpx; border-top-left-radius: 16rpx; } .toast-main { padding-top: 2vh; padding-bottom: 2vh; background-color: white; text-align: center; } .toast-input { margin-left: 5%; margin-right: 5%; border: 1px solid #ddd; padding-left: 2vh; padding-right: 2vh; padding-top: 1vh; padding-bottom: 1vh; } .toast-button { display: flex; } .button1 { width: 50%; } .button2 { width: 50%; } .button1 button { width: 100%; background-color: white; color: red; border-radius: 0px; border-bottom-left-radius: 16rpx; } .button2 button{ width: 100%; background-color: white; color: black; border-radius: 0px; border-bottom-right-radius: 16rpx; } .picker { padding-top: 1vh; padding-bottom: 1vh; }
我們可以根據自己的喜歡,對提示框的樣式進行改變
5、編寫js程式碼,我們需要實現以下一些基本功能(點擊出現彈窗,取消不改變資料值,確定進行判斷資料值,若為空則不能改變,否則可以改變,並且主頁面上的內容要變為相應改變後的內容)
6、給最外層的彈窗附上hidden(如圖所示),為這個值初始為false,點選按鈕後觸發事件,改false為true,這樣即可點擊出現彈窗。
7、為取消按鈕附上點選事件,與hidden的部分剛好相反即可。
8、為書寫文字繫結事件,上述程式碼中命名為setValue,這個函式我們傳入一個event進去,將其列印,我們可以發現在其的detail中有我們剛剛所書寫的內容,我們將這個值,傳給js中data一個屬性,這裡我們命名為edit。
9、為確定繫結事件,用this.data.edit將這個值進行判斷,若為空,我們用wx.showToast提示使用者資訊沒有填寫完整,並且頁面不會改變。若不為空,則我們setData一下我們的stuName為這個edit的值,並且重新把hidden的屬性值改為false。
10、返回到初始頁面我們就可以看到我們自己做得一個提示框,並且具有修改值的功能
相關推薦
微信小程式自制提示框(具有輸入文字功能)
微信小程式自帶的API中的頁面互動功能,雖然提示功能非常全面,但是所有的互動API中是沒有可以自己在提示框中輸入文字的功能,那麼現在我們來自己做這樣的一個提示框(可以帶有輸入功能),在提示框輸入完內容之後,點選確定,可以將文字內容返回,點選取消則可以回到之前的狀態。(在這裡,
微信小程式-訊息提示框
微信小程式開發中toast也是重要的訊息提示方式. 提示框: wx.showToast(OBJECT) 顯示訊息提示框 OBJECT引數說明: 示例程式碼: ? 1 2 3 4 5 wx.showTo
微信小程式-訊息提示框例項
做Android的時候對toast是很熟悉的.微信小程式開發中toast也是重要的訊息提示方式. 提示框: wx.showToast(OBJECT) 顯示訊息提示框 OBJECT引數說明: 示例程式碼: wx.showToast({ title: '成功', icon
微信小程式的提示框 showToast 和 showLoading
使用者操作得到即時反饋,這是很好的使用者體驗,所以我們經常會使用提示框來反饋一些簡簡訊息。提示框顯示後,通常自己關閉,對使用者的打擾降到最低。下面簡單對比一下常用兩個顯示對話方塊方式: showToast 和 showLoading wx.showTo
微信小程式中使用Echarts(可非同步請求資料)
在微信小程式中使用Echarts,主要分為以下幾步: 1.首先要下載ecomfe/echarts-for-weixin專案,下載後將ec-canvas資料夾複製到小程式專案中,假設放在根目錄下utils資料夾中。 2.在要實現echarts圖的頁面引入echarts.js檔案,例如要在i
微信小程式 獲取元素高度(獲取元素節點資訊)
微信小程式 獲取元素高度(獲取元素節點資訊) 如果高度要px單位的話: let query = wx.createSelectorQuery(); query.select('.content').boundingClientRect(rect=>{ let he
微信小程式-form表單-獲取使用者輸入文字框的值
微信小程式-form表單-獲取使用者輸入文字框的值 <input name='formnickname' class="textarea" placeholder="{{geren.nickname}}" value='{{geren.nickname}}' bi
微信小程式 —— 考勤管理Demo(前後端及資料庫)
原始碼地址: 簡要介紹 這是一個微信小程式的考勤管理Demo,包括前後端及資料庫等內容。如有錯誤或建議,歡迎指出。 前端: 後端: 平臺: Node.js 資料庫: 初始賬戶:admin,初始密碼:ad
微信小程式開發框架——WXSS(一)
WXSS語言決定了小程式頁面的各個元素在視覺上的展示,WXSS與CSS即為相試的、為了適合微信小程式開發WXSS對CSS進行相應的修改。 width:用來設定元素'寬度' / height:用來設定元素'高度 '/
微信小程式下拉框
微信小程式元件裡沒有下拉框,正好要用到,記下來以後參考 wxml程式碼 <view class='top'> <view class='top-text'> 選擇接收班級</view> <!-- 下拉框 --> <view
微信小程式按鈕去邊框(button去邊框)
微信小程式中的button元件預設自帶邊框,而且我們常規的給button設定border: none;或者border: 0;並不能去掉邊框。 無論是內聯樣式還是外聯樣式表都不好使。這是因為微信小程式的button元件的邊框並不在button上,而是在button::after上
微信小程式——下拉重新整理(分頁)
1、先定義兩個變數: // 分頁,載入 hasMoreData:true, globalPage:0, 2、函式處理: 3、與後臺互動: 1)、在獲取列表的方法裡面,將下面兩個引數以及其他所需
微信小程式單選框自定義賦值
這裡我們應用之前一篇寫過的彈框效果 , 哈哈哈 ,是不是很萬精油;單選框我們運用偽元素自定義,不使用圖片 , 這個例子可以運用到很多情況; 知識點: 1、理解wx:if作用 2、理解三元運算子的使用 3、利用偽元素after/before自定義內容 4、定時器setTimeout的使用 照例
微信小程式入門學習筆記(二)——阿里雲伺服器PHP MYSQL Apache配置
持續更新 持續學習 感謝原文大佬連結 https://www.linuxidc.com/Linux/2017-08/146220.htm 筆者在阿里雲上買了輕量應用伺服器 學生認證通過以下 便宜的 選擇的CentOS 7.3 64位 https://promot
微信小程式入門學習筆記(一)
入門級的跳轉格式: wx.redirectTo():不能返回上一層頁面 wx.navigateTo():用於頁面的跳轉 以上兩個不能跳轉於"tabBar" 因此跳轉"tabBar": wx.switchTab 感謝大佬的教程解答 了我的問題 以下附上原文連結 作者
微信小程式 - 彈出鍵盤遮擋住輸入框
在開發微信小程式的時候遇到,輸入使用者名稱或者手機號以及地址,手機鍵盤調起來,會把輸入框遮擋。 如圖: 以上兩張圖是自己工作中遇到的,此處不要著急,一個屬性幫你搞定。 cursor-spacing:指定游標與鍵盤的距離,單位px或rpx,預設為px。取 input 距離底部的距離和 cursor
微信小程式下拉框之二維陣列或物件
js檔案 Page({ data:{ //戶型 這是一個本地的物件,然後繫結到頁面上 pic_array: [ { id: 13, name: ‘1室1廳1衛‘ }, { id: 14, name: ‘1室2廳1衛‘ }, { id:
微信小程式使用第三方庫(第三方js)問題
原文:https://blog.csdn.net/u012421719/article/details/56676801 比如很多人會有這樣的問題: 小程式怎樣引用第三方js呢?
微信小程式開發文件(4)
微信小程式網路API 發起請求 上傳、下載 Websocket 檔案 資料快取 微信小程式媒體API 圖片 錄音 音訊播放控制 音樂播放控制 背景音訊播放管理 wx.createAudioContext(audioId) 視訊 wx.createVideoContext(videoId)
微信小程式二維碼(JAVA)
前言 最近在做小程式相關的專案,之前也在網上找過很多資料,遇到不少坑,和大家分享一下成果。 簡介 小程式獲取二維碼有官網三種介面: POST https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access