网站首页 > 技术文章 正文
在微信小程序开发中,input 用来实现文本输入,是单行的,textarea是多行的输入实现
1 基本使用
<textarea class="input" name="remark" placeholder="请输入备注" auto-focus="true" />
基本效果就是显示了一个多行的文本输入框。
- placeholder 输入框为空时的占位符
- auto-focus 自动聚集,拉起键盘,需要注意的是一个页面中只能有一个 input 标签 或者 textarea 来设置这个属性
我在这里为明显效果所以设置了个边框样式
.input{
/* 边框 */
border:1px solid red;
padding: 10rpx;
}
2 获取输入框中的内容
bindinput 属性用来绑定键盘输入时的事件监听,也就是可以实时获取输入中的内容 。
当然 在你的处理函数中可以直接 return 一个结果来替换输入框中的内容。
<textarea class="input" name="remark" placeholder="请输入备注" bindinput="remarkInputAction" />
对应的 js
/**
* 输入框实时回调
* @param {*} options
*/
remarkInputAction: function (options) {
//获取输入框输入的内容
let value = options.detail.value;
console.log("输入框输入的内容是 " + value)
},
效果
3 输入框焦点监听
应用场景还是比较多的,比如输入结束时 去校验个数据什么的
- bindfocus 输入框获取到输入焦点时
- bindblur 输入框焦点移出
- bindconfirm 点击键盘的回车键或者是完成按钮时回调的事件
<textarea class="input" name="remark" placeholder="请输入备注"
bindfocus="remarkFocusAction"
bindblur="remarkBlurAction"
bindconfirm="remarkConfirm" />
对应的 js
remarkFocusAction: function (options) {
//输入框焦点获取
let value = options.detail.value;
console.log("输入框焦点获取 " + value)
},
remarkBlurAction: function (options) {
//输入框焦点移出
let value = options.detail.value;
console.log("输入框焦点移出 " + value)
},
remarkConfirm: function (options) {
//点击了键盘上的完成按钮
let value = options.detail.value;
console.log("点击了键盘上的完成按钮 " + value)
},
效果图
4 auto-height 自动增高与获取行数
- auto-height 默认为false, 为true时,自动增高,默认显示一行,为true时 style.height设置不生效
- bindlinechange 换行时会触发
<textarea auto-height="true" bindlinechange="remarkLineAction" />
remarkLineAction: function (options) {
//行数
let lineCount = options.detail.lineCount;
let height = options.detail.height;
let heightRpx = options.detail.heightRpx;
console.log("输入框行数变化 " + lineCount)
},
5 maxlength 限制输入的文本长度,默认是 140字符,配置为 -1 时代表无限制
<textarea maxlength="1" />
6 使用实例
<view class="inputshow">
<textarea maxlength='500' placeholder-style="color:#5F5F5F;" bindinput='limitWord' value="{{content}}" placeholder='请输入备注(最多500个字)'></textarea>
<view class="clear">
<text style="float: right">{{currentWord}}/{{maxWord}}(最多可输入500字)</text>
</view>
</view>
Page({
/**
* 页面的初始数据
*/
data: {
//字数限制
maxWord: 500,
currentWord: 0
},
limitWord:function(e){
var that = this;
var value = e.detail.value;
//解析字符串长度转换成整数。
var wordLength = parseInt(value.length);
if (that.data.maxWord < wordLength) {
return ;
}
that.setData({
currentWord: wordLength
});
},
);
.inputshow{
padding: 10px;
background-color: white;
border:1px solid red;
padding: 10rpx;
}
完毕
猜你喜欢
- 2025-09-14 在Excel用max()/min()函数代替IF()函数的多分支判断的一个小案例
- 2025-09-14 【C语法硬核20讲】07 宏与预处理:写出安全宏
- 2025-09-14 用数学的方法理解Photoshop混合模式——变暗模式
- 2025-09-14 这4个变态的Excel函数公式,却好用的很
- 2025-09-14 常用函数示例_常用函数示例大全
- 2025-09-14 Excel教程:常用的Excel统计函数汇总
- 2025-09-14 办公小技巧:用好Excel 2019新函数为办公提速
- 2025-09-14 如何实现一个带min函数的栈?这招双栈法让查询速...
- 2025-09-14 python常用得内置函数解析——min()函数
- 2025-09-14 湿地夕阳,美的让人如痴如醉!_湿地公园日落
- 最近发表
- 标签列表
-
- cmd/c (90)
- c++中::是什么意思 (84)
- 标签用于 (71)
- 主键只能有一个吗 (77)
- c#console.writeline不显示 (95)
- pythoncase语句 (88)
- es6includes (74)
- sqlset (76)
- apt-getinstall-y (100)
- node_modules怎么生成 (87)
- chromepost (71)
- flexdirection (73)
- c++int转char (80)
- mysqlany_value (79)
- static函数和普通函数 (84)
- el-date-picker开始日期早于结束日期 (76)
- js判断是否是json字符串 (75)
- c语言min函数头文件 (77)
- asynccallback (71)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- java (73)
- js数组插入 (83)
- mac安装java (72)
- 无效的列索引 (74)