欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

微信小程序自定義prompt組件步驟詳解

 更新時(shí)間:2018年06月12日 16:26:47   作者:zhy前端攻城獅  
本文分步驟給大家介紹了微信小程序自定義prompt組件,文中通過實(shí)例代碼相結(jié)合的形式給大家介紹的非常詳細(xì),需要的朋友可以參考下

步驟一:新建一個(gè)component的文件夾,用來放所有的自定義組件;
 步驟二:在該目錄下新建一個(gè)prompt的文件夾,用來放prompt組件;
 步驟三:右擊–>新建–>component

直接上代碼

wxml

<view class="prompt-box" hidden="{{isHidden}}">
  <view class="prompt-content contentFontColor">
    <view class="prompt-title">{{title}}</view>
    <input class="prompt-input" type="digit" bindinput="_input" value="{{cost}}" />
    <view class="prompt-btn-group">
      <button class="btn-item prompt-cancel-btn contentFontColor" bind:tap="_cancel">{{btn_cancel}}</button>
      <button class="btn-item prompt-certain-btn" bind:tap="_confirm">{{btn_certain}}</button>
    </view>
  </view>
</view>

js

// components/prompt/prompt.js
Component({
 options: {
  multipleSlots: true // 在組件定義時(shí)的選項(xiàng)中啟用多slot支持
 },
 /**
  * 組件的屬性列表
  */
 properties: {
  title: {      
   type: String,  
   value: '標(biāo)題'  
  },
  btn_cancel: {
   type: String,
   value: '取消'
  },
  btn_certain: {
   type: String,
   value: '確定'
  }
 },
 data: {
  isHidden: true,
 },
 methods: {
  hidePrompt: function () {
   this.setData({
    isHidden: true
   })
  },
  showPrompt () {
   this.setData({
    isHidden: false
   })
  },
  /*
  * 內(nèi)部私有方法建議以下劃線開頭
  * triggerEvent 用于觸發(fā)事件
  */
  _cancel () {
    //觸發(fā)cancel事件,即在外部,在組件上綁定cancel事件即可,bind:cancel,像綁定tap一樣
   this.triggerEvent("cancel")
  },
  _confirm () {
   this.triggerEvent("confirm");
  },
  _input(e){
    //將參數(shù)傳出去,這樣在getInput函數(shù)中可以通過e去獲得必要的參數(shù)
   this.triggerEvent("getInput",e.detail);   
  }
 }
})

json

{
 "component": true,
 "usingComponents": {}
}

wxss

/* components/vas-prompt/vas-prompt.wxss */
.prompt-box {
 position: absolute;
 left: 0;
 top: 0;
 width: 100%;
 height: 100%;
 z-index: 11;
 background: rgba(0, 0, 0, .5);
}
.prompt-content {
 position: absolute;
 left: 50%;
 top: 40%;
 width: 80%;
 max-width: 600rpx;
 border: 2rpx solid #ccc;
 border-radius: 10rpx;
 box-sizing: bordre-box;
 transform: translate(-50%, -50%); 
 overflow: hidden;
 background: #fff;
}
.prompt-title {
 width: 100%;
 padding: 20rpx;
 text-align: center;
 font-size: 40rpx;
 border-bottom: 2rpx solid gray;
}
.prompt-input{
 margin: 8%;
 padding: 10rpx 15rpx;
 width: 80%;
 height:85rpx;
 border: 1px solid #ccc;
 border-radius: 10rpx;
}
.prompt-btn-group{
 display: flex;
}
.btn-item {
 width: 35%;
 margin-bottom: 20rpx;
 height: 100rpx;
 line-height: 100rpx;
 background-color: white;
 justify-content: space-around;
}
.prompt-certain-btn{
 color: white;
 background-color: #4FEBDE;
}
.prompt-cancel-btn{
 border: 1px solid #4FEBDE;
}
.contentFontColor {
 color: #868686;
}

使用

 例如,在index.html中使用

 在json中添加useComponents屬性

 "usingComponents": {
  "vas-prompt": "./components/prompt/prompt" 
 }

wxml

<prompt id="prompt" 
  title='test' 
  btn_certain='確定' 
  bind:getInput="getInput" 
  bind:cancel="cancel"
  bind:confirm="confirm">
</prompt>
<button bindtap="showPrompt">點(diǎn)擊彈出prompt</button>

js

//在onReady生命周期函數(shù)中,先獲取prompt實(shí)例
onReady:function(){
  this.prompt = this.selectComponent("#prompt");
},
//顯示prompt
showPrompt:function(){
  this.prompt.showPrompt();
},
//將輸入的value保存起來
getInput: function (e) {
  this.setData({
   value: e.detail.value
  })
},
confirm: function () {
  let _cost = this.data.value;
  if (_cost == '') {
   console.log('你還未輸入');
   return;
  }
  else{
    ....
  }
 },
 cancel: function () {
  this.prompt.hidePrompt();
 },

原理:

 將prompt隱藏起來,點(diǎn)擊顯示的時(shí)候則顯示,然后通過原生的tap事件,觸發(fā)自定義事件,在使用該組件的時(shí)候,則使用自定義事件.

總結(jié)

以上所述是小編給大家介紹的微信小程序自定義prompt組件步驟詳解,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • 在javascript中,null>=0 為真,null==0卻為假,null的值詳解

    在javascript中,null>=0 為真,null==0卻為假,null的值詳解

    這篇文章主要介紹了在javascript中,null>=0 為真,null==0卻為假,null的值詳解的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • 微信小程序?qū)崿F(xiàn)簡單聊天室

    微信小程序?qū)崿F(xiàn)簡單聊天室

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)簡單聊天室,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • layui實(shí)現(xiàn)下拉框三級(jí)聯(lián)動(dòng)

    layui實(shí)現(xiàn)下拉框三級(jí)聯(lián)動(dòng)

    這篇文章主要為大家詳細(xì)介紹了layui實(shí)現(xiàn)下拉框三級(jí)聯(lián)動(dòng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • 微信小程序去除左上角返回鍵的實(shí)現(xiàn)方法

    微信小程序去除左上角返回鍵的實(shí)現(xiàn)方法

    這篇文章主要介紹了微信小程序去除左上角返回鍵的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • CSS代碼格式化和壓縮的方法與技巧

    CSS代碼格式化和壓縮的方法與技巧

    下面腳本之家編輯就將一些css的格式化與壓縮技巧簡單的介紹下,一把情況需要盡量的縮寫樣式,減少體積,然后用工具進(jìn)行壓縮,然后再測(cè)試網(wǎng)頁。
    2007-06-06
  • JS中作用域和變量提升(hoisting)的深入理解

    JS中作用域和變量提升(hoisting)的深入理解

    相信大家也都發(fā)現(xiàn)了,在網(wǎng)上關(guān)于JS的變量和作用域的文章有很多,但真正能講清楚,能深入理解的文章很少。在閱讀了很多人的文章以后,我決定綜合起來,結(jié)合實(shí)際代碼,希望能夠以一個(gè)比較清楚完整的方式讓大家真正理解。有需要的朋友們下面來一起看看吧。
    2016-10-10
  • Postman自動(dòng)化接口測(cè)試實(shí)戰(zhàn)

    Postman自動(dòng)化接口測(cè)試實(shí)戰(zhàn)

    有時(shí)我們可能需要在多個(gè)環(huán)境下對(duì)同一個(gè)接口進(jìn)行測(cè)試。比如我們請(qǐng)求的域名,開發(fā)、測(cè)試、生產(chǎn)環(huán)境,請(qǐng)求參數(shù)。文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • javascript實(shí)現(xiàn)鼠標(biāo)拖動(dòng)改變層大小的方法

    javascript實(shí)現(xiàn)鼠標(biāo)拖動(dòng)改變層大小的方法

    這篇文章主要介紹了javascript實(shí)現(xiàn)鼠標(biāo)拖動(dòng)改變層大小的方法,涉及javascript操作鼠標(biāo)事件及樣式的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-04-04
  • 精通Javascript系列之?dāng)?shù)值計(jì)算

    精通Javascript系列之?dāng)?shù)值計(jì)算

    在JS中如果希望某個(gè)變量包含一個(gè)數(shù)值,那么無需限定其必須是整數(shù)或者是浮點(diǎn)數(shù),下面來個(gè)例子
    2011-06-06
  • javascript連續(xù)賦值問題

    javascript連續(xù)賦值問題

    本文通過具體的示例來給大家詳細(xì)解釋了下javascript的連續(xù)賦值問題,十分的實(shí)用,有需要的小伙伴可以參考下。
    2015-07-07

最新評(píng)論