最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

微信小程序輸入多行文本的實(shí)戰(zhàn)記錄

 更新時(shí)間:2022年03月21日 11:58:50   作者:Arururururu  
多行輸入框組件是原生組件,這篇文章主要給大家介紹了關(guān)于微信小程序輸入多行文本的相關(guān)資料,文中通過實(shí)例代碼介紹的介紹的非常詳細(xì),需要的朋友可以參考下

引言

昨天把系分的項(xiàng)目又加了一點(diǎn)邏輯判斷,比如已經(jīng)下單的菜品不能減少,不能重復(fù)下單,應(yīng)該先下單再支付等…

弄完購物車的邏輯之后,發(fā)現(xiàn)一直沒有管備注那一塊,于是輸入了一下試試,結(jié)果發(fā)現(xiàn)不能換行…就非常丑陋

后來查閱相關(guān)資料發(fā)現(xiàn),我用的wxml組件是input,只能單行輸入,如果要支持多行輸入,應(yīng)該用textarea。

下面就來介紹一下textarea:

1、textarea的屬性相關(guān)介紹

屬性名類型默認(rèn)值說明最低版本
valueString 輸入框的內(nèi)容 
placeholderString 輸入框?yàn)榭諘r(shí)占位符 
placeholder-styleString 指定 placeholder 的樣式 
placeholder-classStringtextarea-placeholder指定 placeholder 的樣式類 
disabledBooleanfalse是否禁用 
maxlengthNumber140最大輸入長度,設(shè)置為 -1 的時(shí)候不限制最大長度 
auto-focusBooleanfalse自動(dòng)聚焦,拉起鍵盤。 
focusBooleanfalse獲取焦點(diǎn) 
auto-heightBooleanfalse是否自動(dòng)增高,設(shè)置auto-height時(shí),style.height不生效 
fixedBooleanfalse如果 textarea 是在一個(gè) position:fixed 的區(qū)域,需要顯示指定屬性 fixed 為 true 
cursor-spacingNumber0指定光標(biāo)與鍵盤的距離,單位 px 。取 textarea 距離底部的距離和 cursor-spacing 指定的距離的最小值作為光標(biāo)與鍵盤的距離 
cursorNumber 指定focus時(shí)的光標(biāo)位置1.5.0
show-confirm-barBooleantrue是否顯示鍵盤上方帶有”完成“按鈕那一欄1.6.0
selection-startNumber-1光標(biāo)起始位置,自動(dòng)聚集時(shí)有效,需與selection-end搭配使用1.9.0
selection-endNumber-1光標(biāo)結(jié)束位置,自動(dòng)聚集時(shí)有效,需與selection-start搭配使用1.9.0
adjust-positionBooleantrue鍵盤彈起時(shí),是否自動(dòng)上推頁面1.9.90
bindfocusEventHandle 輸入框聚焦時(shí)觸發(fā),event.detail = { value, height },height 為鍵盤高度,在基礎(chǔ)庫 1.9.90 起支持 
bindblurEventHandle 輸入框失去焦點(diǎn)時(shí)觸發(fā),event.detail = {value, cursor} 
bindlinechangeEventHandle 輸入框行數(shù)變化時(shí)調(diào)用,event.detail = {height: 0, heightRpx: 0, lineCount: 0} 
bindinputEventHandle 當(dāng)鍵盤輸入時(shí),觸發(fā) input 事件,event.detail = {value, cursor}, bindinput 處理函數(shù)的返回值并不會反映到 textarea 上  
bindconfirmEventHandle 點(diǎn)擊完成時(shí), 觸發(fā) confirm 事件,event.detail = {value: value}

2、使用示例

下面給出我們的 的示例,備注輸入框的值與details綁定,當(dāng)失去焦點(diǎn)(默認(rèn)為輸入完成)時(shí)將textarea的輸入框內(nèi)的值賦值給details,而執(zhí)行完某些業(yè)務(wù)(提交訂單or支付訂單)時(shí)設(shè)置details為空字符串。

//wxml
<textarea class="detailText" 
    placeholder="輸入您的備注"
    bindblur="bindTextAreaBlur"
    value="{{details}}">
</textarea>


//js
bindTextAreaBlur: function(e) {
    console.log(e.detail.value);
    var that = this;
    that.setData({
      details: e.detail.value
    });
  },

...

//提交訂單或支付訂單時(shí)清空備注
var that = this;
that.setData({
              details: '',
            })

由于備注部分在頁面上只占一部分位置,因此設(shè)置其css樣式為固定高度,而不是設(shè)其屬性auto-height。

3、效果

支持多行輸入,超過給定高度出現(xiàn)滾動(dòng)條

獲取輸入框內(nèi)的文字

4、Bug & Tip bug:

  1. bug: 微信版本 6.3.30,textarea 在列表渲染時(shí),新增加的 textarea 在自動(dòng)聚焦時(shí)的位置計(jì)算錯(cuò)誤。
  2. tip: textarea 的 blur 事件會晚于頁面上的 tap 事件,如果需要在 button 的點(diǎn)擊事件獲取 textarea,可以使用 form 的 bindsubmit。
  3. tip: 不建議在多行文本上對用戶的輸入進(jìn)行修改,所以 textarea 的 bindinput 處理函數(shù)并不會將返回值反映到 textarea 上。
  4. tip: textarea 組件是由客戶端創(chuàng)建的原生組件,它的層級是最高的,不能通過 z-index 控制層級。
  5. tip: 請勿在 scroll-view、swiper、picker-view、movable-view 中使用 textarea 組件。
  6. tip: css 動(dòng)畫對 textarea 組件無效。

更多資料請查看官網(wǎng)文檔。

總結(jié)

到此這篇關(guān)于微信小程序輸入多行文本的文章就介紹到這了,更多相關(guān)微信小程序輸入多行文本內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

济源市| 固镇县| 万载县| 桐庐县| 东丰县| 公安县| 漯河市| 鹤峰县| 平定县| 金阳县| 咸阳市| 崇州市| 五大连池市| 阜新市| 太原市| 会理县| 庆云县| 土默特右旗| 金昌市| 淮安市| 金塔县| 泗洪县| 水城县| 扎鲁特旗| 中宁县| 开远市| 江阴市| 宁夏| 宁安市| 岳阳市| 河曲县| 苍南县| 从江县| 西乡县| 金溪县| 镇巴县| 屏东县| 徐闻县| 壤塘县| 灵山县| 普兰县|