歡迎您光臨深圳塔燈網(wǎng)絡科技有限公司!
          電話圖標 余先生:13699882642

          網(wǎng)站百科

          為您解碼網(wǎng)站建設(shè)的點點滴滴

          小程序 input 數(shù)據(jù)雙向綁定,實現(xiàn)方法之一

          發(fā)表日期:2019-11 文章編輯:小燈 瀏覽次數(shù):7714

          小程序 input 數(shù)據(jù)雙向綁定,實現(xiàn)方法之一

          我們都知道 vue 中可以使用 modal 來實現(xiàn) input 內(nèi)容數(shù)據(jù)的雙向綁定。

          小程序好像沒有提供相應的方法支持,就需要我們自己寫了。

          原理

          很簡單,在 input 上先綁定需要取值的變量,如這個變量名是 name,然后再定義一個用于指向變量名的屬性 data-modal 這個屬性值設(shè)置為 name,在 input 的綁定方法中將這個屬性值取出,就會知道這個 input 綁定了哪個變量,然后再將 input 的當前值賦給這個變量即可。

          實現(xiàn)

          wxml

          <input id='name' 
              name="name"
              type='text' 
              value='{{name}}'  <!-- input 從 js 中的 data.name 取值 -->
              data-modal='name'  <!-- 這里通過 data-xx 的形式傳遞一個需要綁定的變量名,之后可以通過 event.dataset.xxx 輕松取到 -->
              bindinput='handleInputChange' <!-- 這里綁定 input 內(nèi)容變化時的處理方法 -->
              >
          </input>

          wxs

          Page({
              data: {
                  name: String
              },
              
              // 處理 input 數(shù)據(jù)雙向綁定
              handleInputChange: function (e) {
                  // 取出定義的變量名
                  let name = e.currentTarget.dataset.modal;
          
                  // 取出實時的變量值
                  let value = e.detail.value;
          
                  // 定義一個鍵值對
                  let dataMap = {};
          
                  // 設(shè)置這個鍵值對的鍵和值
                  dataMap[name] = value;
          
                  // 刷新數(shù)據(jù)
                  this.setData(dataMap);
          
                  // 這里用于測試
                  console.log(name, ':', this.data[name]) // 顯示 page 內(nèi) data 的實際數(shù)據(jù)
              }
          }

          效果如下圖:


          本頁內(nèi)容由塔燈網(wǎng)絡科技有限公司通過網(wǎng)絡收集編輯所得,所有資料僅供用戶學習參考,本站不擁有所有權(quán),如您認為本網(wǎng)頁中由涉嫌抄襲的內(nèi)容,請及時與我們聯(lián)系,并提供相關(guān)證據(jù),工作人員會在5工作日內(nèi)聯(lián)系您,一經(jīng)查實,本站立刻刪除侵權(quán)內(nèi)容。本文鏈接:http://m.cjxv.cn/25235.html
          相關(guān)小程序