百度智能小程序 多行輸入框

2020-09-01 10:51 更新

textarea 多行輸入框

解釋:多行輸入框(v3.140.1 起支持 同層渲染 ),不支持嵌套在其它組件中使用。如需更多自定義樣式,可使用 Smart UI 組件,詳見 textarea 自定義多行輸入框

屬性說明

屬性名 類型 默認(rèn)值 必填 說明 最低支持版本 Web 態(tài)說明

value

String

輸入框的內(nèi)容,若要動態(tài)設(shè)置輸入框內(nèi)容,需設(shè)置 value="{= value =}"(注: 若要取鍵盤輸入后的 value 請通過 bindinput 獲取)

- -

disabled

Boolean

false

是否禁用

- -

maxlength

Number

140

最大輸入長度,設(shè)置為 -1 的時候不限制最大長度

- -

placeholder

String

輸入框為空時占位符

- -

placeholder-style

String

指定 placeholder 的樣式

- -

placeholder-class

String

指定 placeholder 的樣式類

- -

auto-height

Boolean

false

是否自動增高,設(shè)置 auto-height 時,style.height 不生效

- -

cursor

Number

-1

指定 focus 時的光標(biāo)位置

- -

auto-focus

Boolean

false

自動聚焦,調(diào)起鍵盤。

-

由于瀏覽器兼容性問題,部分瀏覽器中無效

confirm-type

String

default

設(shè)置鍵盤右下角按鈕的文字。

3.70.53
低版本請做兼容性處理

暫不支持

confirm-hold

Boolean

false

點擊鍵盤右下角按鈕時是否保持鍵盤不收起

3.130.1
低版本請做兼容性處理

-

focus

Boolean

false

獲取焦點,調(diào)起鍵盤

- -

fixed

Boolean

false

如果 textarea 是在一個 position:fixed 的區(qū)域,需要顯示指定屬性 fixed 為 true

- -

cursor-spacing

Number

0

指定光標(biāo)與鍵盤的距離,單位 px 。取 textarea 距離底部的距離和 cursor-spacing 指定的距離的最小值作為光標(biāo)與鍵盤的距離

- -

show-confirm-bar

Boolean

true

是否顯示鍵盤上方帶有”完成“按鈕那一欄。

-

暫不支持

selection-start

Number

-1

光標(biāo)起始位置,自動聚焦時有效,需與 selection-end 搭配使用

- -

selection-end

Number

-1

光標(biāo)結(jié)束位置,自動聚焦時有效,需與 selection-start 搭配使用

- -

adjust-position

Boolean

true

鍵盤彈起時,是否自動上推頁面

-

受限于設(shè)備系統(tǒng),暫不支持

bindfocus

EventHandle

輸入框聚焦時觸發(fā),event.detail = { value, height },height 為鍵盤高度

- -

bindblur

EventHandle

輸入框失去焦點時觸發(fā),event.detail = {value, cursor}

- -

bindlinechange

EventHandle

輸入框行數(shù)變化時調(diào)用,event.detail = {height: 0, heightRpx: 0, lineCount: 0, lineHeight: 0}

- -

bindinput

EventHandle

當(dāng)鍵盤輸入時,觸發(fā) input 事件,event.detail = {value, cursor}, bindinput 處理函數(shù)的返回值并不會反映到 textarea 上

- -

bindconfirm

EventHandle

點擊完成時, 觸發(fā) confirm 事件,event.detail = {value: value}

- -

confirm-type 有效值

Web 態(tài)說明:Web 態(tài)下,受設(shè)備系統(tǒng)或輸入法控制,confirm-type 值無法修改鍵盤右下角按鈕文字。

說明

default

原生鍵盤狀態(tài),輸入狀態(tài)下右下角按鈕為“確認(rèn)”,可將用戶正在輸入的文字填充至輸入框,未輸入狀態(tài)下右下角按鈕為“換行”,用戶點擊后可手動換行

done

右下角按鈕為“完成”,點擊會觸發(fā) bindconfirm 事件

send

右下角按鈕為“發(fā)送”,點擊會觸發(fā) bindconfirm 事件

search

右下角按鈕為“搜索”,點擊會觸發(fā) bindconfirm 事件

next

右下角按鈕為“下一步”,點擊會觸發(fā) bindconfirm 事件

go

右下角按鈕為“前往”,點擊會觸發(fā) bindconfirm 事件

示例

在開發(fā)者工具中打開


代碼示例 1:輸入?yún)^(qū)高度自適應(yīng)

<view class="wrap">
   <view class="card-area">
        <view class="top-description border-bottom">
            <view>輸入?yún)^(qū)高度自適應(yīng)</view>
            <view>auto-height</view>
        </view>
        <textarea auto-height maxlength="-1" bindinput="bindInput" />
    </view>
</view>
Page({
    bindInput(e) {
        console.log('input - e:', e);
    }
});

代碼示例 2: 自動聚焦

<view class="wrap">
    <view class="card-area"">
        <view class="top-description border-bottom">
            <view>自動聚焦</view>
            <view>auto-focus</view>
        </view>
        <textarea
            style="height: 1.12rem"
            maxlength="-1"
            disabled="{{false}}"
            auto-focus="{{true}}"
            placeholder="超過輸入高度,會出現(xiàn)滾動條"
            confirm-hold="false"
            placeholder-class="plh"
            cursor="-1"
            confirm-type="換行"
            fixed="{{false}}"
            focus="{{focus}}"
            cursor-spacing="20"
            show-confirm-bar="{{true}}"
            selection-start="-1"
            selection-end="-1"
            adjust-position="{{true}}"
            bindfocus="bindFocus"
            bindblur="bindBlur"
            bindlinechange="bindLineChange"
            bindinput="bindInput"
            bindconfirm="bindConfirm" />
    </view>
</view>
Page({
    data: {
        focus: true
    },
    bindfocus(e) {
        console.log('focus - e:', e);
    },
    bindInput(e) {
        console.log('input - e:', e);
    },
    bindLineChange(e) {
        console.log('linechange - e:', e);
    },
    bindblur(e) {
        console.log('blur - e:', e);
    },
    bindConfirm(e){
        console.log('confirm - e:', e);
    }
});

Bug & Tip

  • Tip:textarea 的 blur 事件會晚于頁面上的 tap 事件,如果需要在 button 的點擊事件獲取 textarea,可以使用 form 的 bindsubmit。Tip:不建議在多行文本上對用戶的輸入進行修改,所以 textarea 的 bindinput 處理函數(shù)并不會將返回值反映到 textarea 上。Tip:請使用 cover-view 組件在 textarea 組件上開發(fā)遮罩層。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號