全部產品
Search
文件中心

Mobile Platform as a Service:textarea

更新時間:Jul 13, 2024

本文介紹多行輸入框(textarea)。

屬性名稱

類型

預設值

描述

最低版本

name

String

-

組件名字,用於表單提交擷取資料

-

value

String

-

初始內容

-

placeholder

String

-

預留位置

-

placeholder-style

String

-

指定 placeholder 的樣式

1.6.0

placeholder-class

String

-

指定 placeholder 的樣式類

1.6.0

disabled

Boolean

false

是否禁用

-

maxlength

Number

140

最大長度,當設定為 -1 時不限制最大長度

-

focus

Boolean

false

擷取焦點(iOS 不支援)

-

auto-height

Boolean

false

是否自動增高

-

show-count

Boolean

true

是否渲染字數統計功能

1.8.0

controlled

Boolean

false

是否為受控組件。為 true 時,value 內容會完全受 setData 控制

1.8.0

onInput

EventHandle

-

鍵盤輸入時觸發,可以直接 return 一個字串以替換輸入框的內容

-

onFocus

EventHandle

-

輸入框聚焦時觸發

-

onBlur

EventHandle

-

輸入框失去焦點時觸發

-

onConfirm

EventHandle

-

點擊完成時觸發

-

圖示

程式碼範例

<view class="section">
  <textarea onBlur="bindTextAreaBlur" auto-height placeholder="自動變高" />
</view>
<view class="section">
  <textarea placeholder="這個只有在按鈕點擊的時候才聚焦" focus="{{focus}}" />
  <view class="btn-area">
    <button onTap="bindButtonTap">使得輸入框擷取焦點</button>
  </view>
</view>
<view class="section">
  <form onSubmit="bindFormSubmit">
    <textarea placeholder="form 中的 textarea" name="textarea"/>
    <button form-type="submit"> 提交 </button>
  </form>
</view>
Page({
  data: {
    focus: false,
    inputValue: ''
  },
  bindButtonTap() {
    this.setData({
      focus: true
    })
  },
  bindTextAreaBlur: function(e) {
    console.log(e.detail.value)
  },
  bindFormSubmit: function(e) {
    console.log(e.detail.value.textarea)
  }
})

iOS 鍵盤與組件互動異常處理

對於需要啟動鍵盤的組件,如 input、textarea 等,目前預設使用的是原生鍵盤。如果鍵盤和組件的互動存在異常,可在組件中添加 enableNative="{{false}}"屬性(代碼如下所示),即可恢複到使用 WKWebview 的鍵盤。同時,由於使用的是系統鍵盤,也就不能使用 mPaaS 提供的 Native 鍵盤相關功能。鍵盤與組件的互動目前不再專門適配,如有互動異常問題請使用該方式進行處理。

<textarea value="{{inputValue}}" enableNative="{{false}}" maxlength="500" onInput="onInput" />