当前位置: 首页 > news >正文

微信小程序:单行输入和多行输入组件

微信小程序提供了两种输入类型的输入框组件,分别是单行输入框 <input> 和多行输入框 <textarea>

1. 单行输入组件(input)

单行输入框 <input> <input> 是一个用于收集用户输入的组件,主要用于收集单行文本输入。

input组件用于录入单行文本,尽管input的基本功能是文本录入,但该组件的属性还是比较多的,也比较复杂。

重要的属性有:

主要的监听事件有:

  • value:输入框的初始内容
  • type:input 的类型,如 text, number, idcard, digit等
  • password:是否是密码类型
  • placeholder:输入框为空时占位符
  • disabled:是否禁用
  • maxlength:最大输入长度
  • confirm-type:设置键盘右下角按钮的文字,如 send, search, next, go, done等
  • confirm-hold:点击键盘右下角按钮时是否保持键盘不收起
  • bindinput:当键盘输入时,触发 input 事件
  • bindfocus:输入框聚焦时触发
  • bindblur:输入框失去焦点时触发
  • bindconfirm:点击完成时,键盘输入法收起的事件

如下为input组件的属性及其含义:

  • value:String类型,输入框的当前内容
  • type:String类型,默认值是text。可指定的值:text, number, idcard, digit
  • password:Boolean类型,默认值是false,是否以密码形式录入文本(所有的文本字符都显示为点)
  • placeholder:String类型,输入框为空时显示的文本
  • placeholder-style:String类型,指定 placeholder 的样式
  • placeholder-class:String类型,指定 placeholder 的样式名称
  • disabled:Boolean类型,默认值是false,表示是否禁用输入框
  • maxlength:Number类型,默认值是140,表示文本最大输入长度,设置为 -1 的时候不限制最大长度
  • auto-focus:Boolean类型,默认值是false,该属性为true,可以让当前输入框自动获得焦点,并且自动弹出软键盘。该属性只能在真机上测试,小程序开发工具目前没有软键盘。同一个wxml文件中,只能有一个输入框设置该属性为true,输入框还包括后面要介绍的textarea组件
  • focus:Boolean类型,默认值是false,该属性可以让输入框获的焦点,目前开发工具暂不支持,只能在真机上测试
  • bindinput:EventHandle类型 ,除了date/time类型外的输入框,当键盘输入时,触发input事件,event.detail = {value: value},处理函数可以直接 return 一个字符串,将替换输入框的内容
  • bindfocus :EventHandle类型,输入框获得焦点时触发,event.detail = {value: value}
  • bindblur:EventHandle类型,输入框失去焦点时触发,event.detail = {value: value}

注意:这些属性中,auto-focus和focus目前只能在真机上测试。

常用使用方法实例:

<view style="margin:20px"><input placeholder="请输入你的姓名" value="默认值" /><input placeholder-style="color:green" placeholder="占位符字体是绿色的" auto-focus/><input style="margin-top:25px" placeholder="这个只有在按钮点击的时候才聚焦" focus="{{focus}}" /><button bindtap="bindButtonTap">使得输入框获取焦点(在真机上测试)</button><input style="margin-top:25px" maxlength="10" placeholder="最大输入长度10" /><view style="margin-top:25px">你输入的是:{{inputValue}}</view><input bindinput="bindKeyInput" placeholder="输入同步到view中" /><input style="margin-top:25px" bindinput="bindReplaceInput" placeholder="将<和>进行转义" /><input style="margin-top:25px" bindinput="bindHideKeyboard" placeholder="输入close自动收起键盘" /><input style="margin-top:25px" type="emoji" placeholder="这是一个带有表情的输入框" /><input type="digit" placeholder="带小数点的数字键盘" /><input type="idcard" placeholder="身份证输入键盘" /><input password="true" placeholder="请输入你的密码" />
</view>

完整实现代码如下:

Page({data:{focus:false,inputValue:""},bindButtonTap:function(){this.setData({focus:true})},bindKeyInput:function(e){this.setData({inputValue:e.detail.value})},//  当输入<和>是,会自动转换为<和>bindReplaceInput:function(e){var value = e.detail.value;var pos = e.detail.cursor;if(pos != -1){//光标在中间var left = e.detail.value.slice(0,pos);//计算光标的位置pos = left.replace(/</g,'<').replace(/>/g,'>').length;}//直接返回对象,可以对输入进行过滤处理,同时可以控制光标的位置return {value:value.replace(/</g,'<').replace(/>/g,'>'),cursor:pos}},bindHideKeyboard:function(e){if(e.detail.value === "close"){//收起键盘wx.hideKeyboard();}}
})

 2. 多行文本组件(textarea)

多行输入框 <textarea> <textarea> 是用来输入多行文本的。

textarea允许输入多行文本,如果文本行数超过textarea组件的高度,会出现垂直滚动条。

重要的属性有:

  • value:输入框的初始内容
  • placeholder:输入框为空时占位符
  • disabled:是否禁用
  • maxlength:最大输入长度
  • autoHeight:是否自动增高,设置autoHeight时,style.height不生效

主要的监听事件同 <input>

textarea有如下几个属性。

  • value:String类型,输入框的内容
  • placeholder:String类型,输入框为空时显示的文本
  • placeholder-style:String类型,指定 placeholder 的样式
  • placeholder-class:String类型,指定 placeholder 的样式类名称
  • disabled:Boolean类型,默认值是false,是否禁用textarea组件
  • maxlength:Number类型,默认值是140,最大输入长度,设置为0的时候不限制最大长度
  • auto-focus:Boolean类型,默认值是false,用于自动聚焦,当获得焦点后,自动弹出软键盘,当前页面中只能有一个 <textarea/> 或 <input/> 设置 auto-focus 属性
  • focus:Boolean类型,默认值是false,获取焦点(开发工具暂不支持)
  • auto-height:Boolean类型,默认值是false,表示是否自动增高,设置auto-height时,style.height不生效
  • bindfocus :EventHandle类型,输入框聚焦时触发
  • bindblur:EventHandle类型,输入框失去焦点时触发
  • bindlinechange:EventHandle 类型,输入框行数变化时调用

textarea组件的基本用法实例:

<view style="margin:20px"><textarea bindblur="bindTextAreaBlur" auto-height placeholder="自动变高" style="background:#ff0"/>
</view>
<view style="margin:20px"><textarea placeholder="placeholder颜色是红色的" placeholder-style="color:red;"  />
</view>
<view style="margin:20px"><textarea placeholder="这是一个可以自动聚焦的textarea" auto-focus />
</view>
<view style="margin:20px"><textarea placeholder="这个只有在按钮点击的时候才聚焦" focus="{{focus}}" /><view class="btn-area"><button bindtap="bindButtonTap">使得输入框获取焦点</button></view>
</view>

 第一个textarea组件设置了auto-height属性,该组件会随着行数的增加而变高。

相关文章:

微信小程序:单行输入和多行输入组件

微信小程序提供了两种输入类型的输入框组件&#xff0c;分别是单行输入框 <input> 和多行输入框 <textarea>。 1. 单行输入组件&#xff08;input&#xff09; 单行输入框 <input> <input> 是一个用于收集用户输入的组件&#xff0c;主要用于收集单行…...

1024程序员

听说今天可以拿勋章&#xff0c;嘿嘿...

【Segment Anything Model】八:修改SAM源码做分类任务

🍉 博主微信 cvxiayixiao 🍓 【Segment Anything Model】计算机视觉检测分割任务专栏。 链接 🍑 【公开数据集预处理】特别是医疗公开数据集的接受和预处理,提供代码讲解。链接 🍈 【opencv+图像处理】opencv代码库讲解,结合图像处理知识,不仅仅是调库。链接 文章目…...

Java后端开发——实现登录验证程序

一、实现一个简单登录验证程序 实现一个简单的用户登录验证程序&#xff0c;如果用户名是 abc &#xff0c;密码是 123&#xff0c;则显示欢迎用户的信息&#xff0c;否则显示“用户名或密码不正确”。 【分析】 该案例采用 JSP 页面只完成提交信息和验证结果的显示&#xff…...

CSS高频面试题

1.行内元素有哪些?块级元素有哪些?空元素有哪些&#xff1f;CSS的盒模型? 块级元素&#xff1a;div, p, h1-h6,form, ul ,li行内元素&#xff1a;a, b, br, span, i, input, select行内块级元素&#xff1a;img , input空元素&#xff1a;即没有内容的HTML元素&#xff0c;…...

解决matlab报错“输入参数的数目不足”

报错语句&#xff1a;tanh((peakNums-parameter)/2) 报错提示&#xff1a;输入参数的数目不足 运行环境&#xff1a;matlab2021b 分析原因&#xff1a; 当执行peakNums - parameter时&#xff0c;如果peakNums和parameter都是向量&#xff0c;那么这并不一定意味着会得到对应…...

使用python_opencv比较图像差异/使用python_opencv找出两张图像的差异范围

目录 1 创建conda环境 2 安装python库 2.1 报错 ModuleNotFoundError: No module named numpy 3 image_diff.py...

NOIP2023模拟1联测22 爆炸

NOIP2023模拟1联测22 爆炸 题目大意 ​ 自己看 思路 当一个炸弹被引爆后&#xff0c;它的方向是固定的。如果被竖着引爆&#xff0c;那么应该选择横着引爆&#xff0c;否则选择竖着引爆&#xff0c;这是显然 的。 考虑对于每个炸弹 ( i , j ) (i , j) (i,j) 将第 i i i 行…...

http post协议实现简单的rpc协议,WireShark抓包分析

文章目录 1.http 客户端-RPC客户端1.http 服务端-RPC服务端3.WireShark抓包分析3.1客户端到服务端的HTTP/JSON报文3.2服务端到客户端的HTTP/JSON报文 1.http 客户端-RPC客户端 import json import requests# 定义 RPC 客户端类 class RPCClient:def __init__(self, server_url…...

1024程序员节

一年一年真快啊&#xff0c;...

嵌入式--->怎样选择编译语言,C C++或是Rust?

C 老牌语言&#xff0c;不可替代&#xff0c;速度和资源占用都是嵌入式领域着重考虑的 Rust 作为新生语言&#xff0c;已经成长到可以和C进行竞争的地步&#xff0c;不论是速度还是资源占用看&#xff0c;还是安全性 C 嵌入式开发使用C的思想&#xff0c;可以极大地简化代码&am…...

一起学数据结构(12)——归并排序的实现

1. 归并排序原理&#xff1a; 归并排序的大概原理如下图所示&#xff1a; 从图中可以看出&#xff0c;归并排序的整体思路就是把已给数组不断分成左右两个区间&#xff0c;当这个区间中的数据数量到达一定数值时&#xff0c;便返回去进行排序&#xff0c;整体的结构类似二叉树…...

读书笔记之《敏捷测试从零开始》(一)

大家好&#xff0c;我是rainbowzhou。 子曰&#xff1a;学而时习之&#xff0c;不亦说乎&#xff1f;今天我想和大家分享一本测试书籍——《敏捷测试从零开始》。以下为我的读书笔记&#xff1a; 精彩片段摘录&#xff1a; 焦虑往往来自于对比&#xff0c;当你在自己的圈子里面…...

视频亮度太低了,如何调高

充足、均匀、稳定的光亮对于视频制作是至关重要的&#xff0c;在现实生活中&#xff0c;不可预见的天气变化和拍摄地方的阴暗常常给我们留下暗淡无光的视频片段。 如果你的视频太暗想知道如何使它变亮&#xff0c;且又不知道使用哪个工具&#xff0c;那你无需担心&#xff0c;因…...

Xubuntu16.04系统中安装create_ap创建无线AP

1.背景说明 在Xubuntu16.04系统的设备上安装无线WIFI模块后&#xff0c;想通过设备自身的无线AP&#xff0c;进行和外部设备的连接&#xff0c;需要安装create_ap软件&#xff0c;并设置无线AP的名称和密码&#xff0c;并设置为开机自启动。 create_ap是一个用于在Linux系统上创…...

WPF 设置全局静态参数

可以使用system官方库来设置参数 引入system xmlns:system"clr-namespace:System;assemblymscorlib"设置参数资源 <Window.Resources><system:Double x:Key"ButtonWidth">90</system:Double></Window.Resources>使用参数资源 &l…...

Leetcode链表问题汇总

目录 [2. 两数相加](https://leetcode.cn/problems/add-two-numbers/)[206. 反转链表](https://leetcode.cn/problems/reverse-linked-list/)[206. 反转链表 II](https://leetcode.cn/problems/reverse-linked-list-ii/)[19. 删除链表的倒数第 N 个结点](https://leetcode.cn/p…...

基于卷的磁盘扫描算法设计

1、设计目的 常规情况下&#xff0c;当我们扫描计算机的硬盘时&#xff0c; 通常会使用诸如FindFirstFile/FindNextFile(Windows)&#xff0c;或者opendir/readdir(Linux)遍历扫描的目录。 一般情形下&#xff0c;由于文件数量相对较少&#xff0c;文件夹层次低&#xff0c;扫…...

计算机组成原理-存储器概念

计算机组成原理-存储器 存储系统的基本概念 1.层次结构 可以直接被CPU读取: 高速缓存:cache主存储器: 主存和内存 辅助存储器: 辅存和外存 2.分类 1.按层次结构划分 如上面所示 2.按存储介质 半导体存储器磁表面存储器光存储器 3.按信息可更改性 r/w存储器ROM(只读存储器) 4…...

力扣刷题 day54:10-24

1.十进制整数的反码 每个非负整数 N 都有其二进制表示。例如&#xff0c; 5 可以被表示为二进制 "101"&#xff0c;11 可以用二进制 "1011" 表示&#xff0c;依此类推。注意&#xff0c;除 N 0 外&#xff0c;任何二进制表示中都不含前导零。 二进制的反…...

Vue Flow实战:如何为你的AI应用设计一个可嵌套循环的工作流节点?

Vue Flow高级实战&#xff1a;构建支持嵌套循环的AI工作流编辑器 在AI应用开发中&#xff0c;复杂业务流程往往需要可视化编排能力。想象一个场景&#xff1a;当用户输入触发多个条件判断时&#xff0c;系统需要循环执行某些操作直到满足特定条件&#xff0c;同时允许在循环内部…...

STM32F103C8T6用软件IIC驱动SGP30传感器,手把手教你搞定室内空气质量监测

STM32F103C8T6软件IIC驱动SGP30传感器实战指南 在智能家居和健康监测领域&#xff0c;空气质量检测正成为越来越受关注的技术方向。本文将带你从零开始&#xff0c;使用STM32F103C8T6这款性价比极高的MCU&#xff0c;通过软件模拟I2C接口驱动SGP30空气质量传感器&#xff0c;构…...

基于hadoop+spark+hive的音乐推荐系统设计与实现

前言随着数字化音乐资源的迅猛增长&#xff0c;传统音乐推荐方式在满足用户个性化需求方面渐显乏力。本研究基于 Python 展开&#xff0c;致力于设计并实现一个音乐推荐系统。通过整合协同过滤算法、数据挖掘技术以及机器学习算法&#xff0c;对用户的音乐偏好和行为进行深入剖…...

救命!这些毕设太好抄了,3000+毕设案例推荐第1027期

271、基于Java的建材租赁智慧管理系统的设计与实现(论文&#xff0b;代码&#xff0b;PPT)建材租赁智慧管理系统主要功能包括&#xff1a;会员操作、客户资料、建材管理、计量单位、建材损坏收费标准、租赁合同、租费标准、租出登记、归还登记、丢赔管理、入库登记、租金计算、…...

甩掉作图焦虑,我把商业级出图压缩到10分钟,设计团队必备AI工具推荐

作为一个在设计行业熬了快十年的工作室主理人&#xff0c;我无数次在甲方的要求下气的想撞墙——不是因为脑子里没有创意&#xff0c;而是因为团队的视觉交付效率根本跟不上客户“朝令夕改”的节奏。你如果是设计师一定懂这种窒息感&#xff1a;早会刚定下的视觉方向&#xff0…...

Path of Building汉化版终极指南:5步掌握流放之路角色构建神器

Path of Building汉化版终极指南&#xff1a;5步掌握流放之路角色构建神器 【免费下载链接】PoeCharm Path of Building Chinese version 项目地址: https://gitcode.com/gh_mirrors/po/PoeCharm 还在为流放之路复杂的角色构建而头疼吗&#xff1f;PoeCharm作为Path of …...

arq源码解析:深入理解异步作业队列的实现原理

arq源码解析&#xff1a;深入理解异步作业队列的实现原理 【免费下载链接】arq Fast job queuing and RPC in python with asyncio and redis. 项目地址: https://gitcode.com/gh_mirrors/ar/arq arq是一个基于Python asyncio和Redis构建的高性能异步作业队列系统&#…...

OpenClaw人人养虾:macOS 开发环境设置

本指南介绍从源代码构建和运行 OpenClaw macOS 应用所需的步骤。 前置条件 在构建应用之前&#xff0c;请确保已安装以下工具&#xff1a; Xcode 26.2&#xff1a;Swift 开发所需。Node.js 22 和 pnpm&#xff1a;gateway、CLI 和打包脚本所需。 1. 安装依赖 安装项目级依…...

SenseVoice-small轻量优势:模型加载时间<2秒,首字响应<800ms

SenseVoice-small轻量优势&#xff1a;模型加载时间&#xff1c;2秒&#xff0c;首字响应&#xff1c;800ms 1. 引言&#xff1a;当语音识别遇上“秒开”体验 想象一下这个场景&#xff1a;你正在一个网络信号极差的山区&#xff0c;或者在一台没有独立显卡的旧电脑上&#x…...

告别窗口切换烦恼:PinWin带来的工作效率变革

告别窗口切换烦恼&#xff1a;PinWin带来的工作效率变革 【免费下载链接】PinWin Pin any window to be always on top of the screen 项目地址: https://gitcode.com/gh_mirrors/pin/PinWin 在繁忙的工作日&#xff0c;数据分析师小李正同时处理三个Excel表格、一个数据…...