首页 > 其他分享 >textarea

textarea

时间:2024-12-29 18:11:05浏览次数:5  
标签:eventhandle false textarea 键盘 boolean 1.0

textarea

基础库 1.0.0 开始支持,低版本需做兼容处理

微信 Windows 版:支持

微信 Mac 版:支持

微信 鸿蒙 OS 版:支持

渲染框架支持情况:Skyline (使用最新 Nighly 工具调试)、WebView

功能描述

多行输入框。该组件是原生组件,使用时请注意相关限制。

通用属性

属性 类型 默认值 必填 说明 最低版本
value string 输入框的内容 1.0.0
placeholder string 输入框为空时占位符 1.0.0
placeholder-style string 指定 placeholder 的样式,目前仅支持color,font-size和font-weight 1.0.0
disabled boolean false 是否禁用 1.0.0
maxlength number 140 最大输入长度,设置为 -1 的时候不限制最大长度 1.0.0
auto-focus boolean false 自动聚焦,拉起键盘。 1.0.0
focus boolean false 获取焦点 1.0.0
auto-height boolean false 是否自动增高,设置auto-height时,style.height不生效 1.0.0
cursor-spacing number 0 指定光标与键盘的距离。取textarea距离底部的距离和cursor-spacing指定的距离的最小值作为光标与键盘的距离 1.0.0
cursor number -1 指定focus时的光标位置 1.5.0
selection-start number -1 光标起始位置,自动聚集时有效,需与selection-end搭配使用 1.9.0
selection-end number -1 光标结束位置,自动聚集时有效,需与selection-start搭配使用 1.9.0
adjust-position boolean true 键盘弹起时,是否自动上推页面 1.9.90
hold-keyboard boolean false focus时,点击页面的时候不收起键盘 2.8.2
disable-default-padding boolean false 是否去掉 iOS 下的默认内边距 2.10.0
confirm-type string return 设置键盘右下角按钮的文字 2.13.0
合法值说明send右下角按钮为“发送”search右下角按钮为“搜索”next右下角按钮为“下一个”go右下角按钮为“前往”done右下角按钮为“完成”return右下角按钮为“换行”
confirm-hold boolean false 点击键盘右下角按钮时是否保持键盘不收起 2.16.0
adjust-keyboard-to boolean cursor 键盘对齐位置。 2.16.1
合法值说明cursor对齐光标位置bottom对齐输入框底部
bindfocus eventhandle 输入框聚焦时触发,event.detail = { value, height },height 为键盘高度,在基础库 1.9.90 起支持 1.0.0
bindblur eventhandle 输入框失去焦点时触发,event.detail = 1.0.0
bindlinechange eventhandle 输入框行数变化时调用,event.detail = 1.0.0
bindinput eventhandle 当键盘输入时,触发 input 事件,event.detail = {value, cursor, keyCode},keyCode 为键值,目前工具还不支持返回keyCode参数。bindinput 处理函数的返回值并不会反映到 textarea 上 1.0.0
bindconfirm eventhandle 点击完成时, 触发 confirm 事件,event.detail = 1.0.0
bindkeyboardheightchange eventhandle 键盘高度发生变化的时候触发此事件,event.detail = 2.7.0

Skyline 特有属性

属性 类型 默认值 必填 说明 最低版本
placeholder-style string 需传入对象,格式为 { fontSize: number, fontWeight: string, color: string }
bind:selectionchange eventhandle 选区改变事件, 3.2.0
bind:keyboardcompositionstart eventhandle 输入法开始新的输入时触发 (仅当输入法支持时触发) 3.2.0
bind:keyboardcompositionupdate eventhandle 输入法输入字符时触发(仅当输入法支持时触发) 3.2.0
bind:keyboardcompositionend eventhandle 输入法输入结束时触发(仅当输入法支持时触发) 3.2.0

WebView 特有属性

属性 类型 默认值 必填 说明 最低版本
placeholder-class string textarea-placeholder 指定 placeholder 的样式类,目前仅支持color,font-size和font-weight 1.0.0
fixed boolean false 如果 textarea 是在一个 position:fixed 的区域,需要显示指定属性 fixed 为 true 1.0.0
show-confirm-bar boolean true 是否显示键盘上方带有”完成“按钮那一栏 1.6.0

Bug & Tip

  1. tip: textareablur 事件会晚于页面上的 tap 事件,如果需要在 button 的点击事件获取 textarea,可以使用 formbindsubmit
  2. tip: 不建议在多行文本上对用户的输入进行修改,所以 textareabindinput 处理函数并不会将返回值反映到 textarea 上。
  3. tip : 键盘高度发生变化,keyboardheightchange事件可能会多次触发,开发者对于相同的height值应该忽略掉
  4. bug: 微信版本 6.3.30textarea 在列表渲染时,新增加的 textarea 在自动聚焦时的位置计算错误。

示例代码

在开发者工具中预览效果

<view class="section">
  <textarea bindblur="bindTextAreaBlur" auto-height placeholder="自动变高" />
</view>
<view class="section">
  <textarea placeholder="placeholder颜色是红色的" placeholder-style="color:red;"  />
</view>
<view class="section">
  <textarea placeholder="这是一个可以自动聚焦的textarea" auto-focus />
</view>
<view class="section">
  <textarea placeholder="这个只有在按钮点击的时候才聚焦" focus="{{focus}}" />
  <view class="btn-area">
    <button bindtap="bindButtonTap">使得输入框获取焦点</button>
  </view>
</view>
<view class="section">
  <form bindsubmit="bindFormSubmit">
    <textarea placeholder="form 中的 textarea" name="textarea"/>
    <button form-type="submit"> 提交 </button>
  </form>
</view>
//textarea.js
Page({
  data: {
    height: 20,
    focus: false
  },
  bindButtonTap: function() {
    this.setData({
      focus: true
    })
  },
  bindTextAreaBlur: function(e) {
    console.log(e.detail.value)
  },
  bindFormSubmit: function(e) {
    console.log(e.detail.value.textarea)
  }
})

标签:eventhandle,false,textarea,键盘,boolean,1.0
From: https://www.cnblogs.com/AtlasLapetos/p/18626802

相关文章

  • 如何修改textarea内容的字体大小及字体颜色?
    在前端开发中,修改textarea内容的字体大小和字体颜色通常通过CSS来实现。以下是一个简单的示例,说明如何为textarea设置字体大小和颜色:HTML:首先,在HTML中定义一个textarea元素,并为其添加一个类名(例如,my-textarea),以便在CSS中引用。<textareaclass="my-textarea"rows="4"......
  • 探索华为鸿蒙系统的多行文本输入框组件(Textarea)
    探索华为鸿蒙系统的多行文本输入框组件(Textarea)在华为鸿蒙系统的应用开发中,用户交互组件是构建出色用户体验的关键要素之一。其中,多行文本输入框组件(Textarea)为用户提供了方便的多行文本输入功能,适用于各种场景,如评论框、消息输入框等。今天,我们将深入了解Textarea组件的使用方......
  • input标签改变高度的同时如何使光标定位在左上角(不使用textarea)
    在HTML中,<input>标签通常用于创建单行文本输入框。由于它是为单行输入设计的,因此没有直接的方式来改变光标的位置或使其像<textarea>那样支持多行文本输入。不过,如果你希望模拟一个类似<textarea>的效果,但又不希望实际使用<textarea>,你可以考虑以下的方法:使用CSS来模拟:......
  • uniapp的uview2.0框架u--textarea组件(或uv-ui uv-textarea)(或uviewui u--textarea)无法
    问题描述在使用uniapp的uview2.0框架u–textarea组件时,想要使u–textarea支持换行输入,但是默认不支持换行输入,各种百度,没有找到解决问题的方案,最后只有查看源码如下但发现源码没有对属性有过多的处理,我开始怀疑是不是原生组件又问题,但是测试之后发现原生组件并没有问题,经过一天......
  • input标签和textarea文本域 清除默认样式
    <!DOCTYPEhtml><html> <head> <metacharset="utf-8"/> <title></title> <style> *{ margin:0px; padding:0px; } .outerNode{ width:100%; height:100%; background-col......
  • 如何使用普通元素拥有像textarea元素一样缩放?
    要让普通元素像textarea一样可以缩放,你需要使用一些CSS技巧和JavaScript,因为HTML中没有直接的属性可以赋予普通元素textarea的缩放行为。以下是一种实现方法:1.CSS样式:.resizable-div{overflow:auto;/*允许内容溢出并显示滚动条*/resize:both;/*允许用......
  • JavaSwing JTextArea
    try{BeautyEyeLNFHelper.frameBorderStyle=BeautyEyeLNFHelper.FrameBorderStyle.osLookAndFeelDecorated;//UIManager.put("RootPane.setupButtonVisible",false);org.jb2011.lnf.beautyeye.BeautyEyeLNFHelpe......
  • 如何让textarea标签中的内容原格式输出?
    要让<textarea>标签中的内容原格式输出,你需要处理空格、换行符和HTML特殊字符。以下几种方法可以实现:1.使用<pre>标签包裹输出内容:这是最简单的方法,<pre>标签会保留其中的空格和换行符。你获取textarea的值,然后将其插入到<pre>标签中进行显示。consttextarea=......
  • 用来测试 autosize.js 的 HTML 代码,自动适应 textarea 高度
     1<!DOCTYPEhtml>2<htmllang="en">3<head>4<metacharset="UTF-8">5<metaname="viewport"content="width=device-width,initial-scale=1.0">6<title>VueAutosiz......
  • web前端之根据字符串长度从长到短排序、中文字符串优先、样式循环、禁止冒泡、悬浮、
    MENU前言效果图htmlstyleJavaScript前言1、代码段由HTML、CSS(使用Sass语法)和JavaScript组成,创建一个文本框,用户可以在其中输入内容,并通过点击按钮进行操作。2、代码段的主要功能是允许用户输入一系列以、分隔的项,并根据长度对这些项进行排序(中文字符优先),然后......