小程序实现textarea行数自动增加
查找网上案例很多,但是都不是很满意,参考大牛案例终结了一下,话不多说代码如下:
实现效果:

前段代码
<view class="text-box">
<view>{{currentInput}}</view>
<textarea class="weui-textarea" placeholder="请输入文本" bindinput="getInput" maxlength="500"/>
</view>
css代码
.text-box{
width:750rpx;
padding: 20rpx 0;
box-sizing: border-box;
position: relative;
min-height:150rpx;
max-height:240rpx;
background: rgb(172, 253, 95)
}
.text-box view{
display:block;
visibility:hidden;
word-break:break-all;
word-wrap:break-word;
}
.text-box .weui-textarea{
width: 600rpx;
height:100%;
position: absolute;
left:75rpx;
top:0rpx;
overflow-y:hidden;
word-break:break-all;
word-wrap:break-word;
}
js代码
Page({
data:{
currentInput: ''
},
getInput: function (e) {
this.setData({
currentInput: e.detail.value
})
},
})
模拟微信朋友圈评论效果
<view class="comment-reply-focus" v-else>
<view class="text-box">
<view>{{ currentInput }}</view>
<textarea
class="weui-textarea"
placeholder="评论 @一见生财"
focus="true"
@input="getInput"
maxlength="500"
fixed="true"
:show-confirm-bar="false"
:adjust-position="true"
cursor-spacing="20px"
/>
</view>
<view class="comment-reply-focus-send" @click.stop="sendComment()">发送</view>
</view>
.comment-reply-focus {
width: 100%;
position: relative;
padding-left: 40upx;
}
.text-box {
width: 580rpx;
padding: 20rpx 0;
box-sizing: border-box;
position: relative;
min-height: 80upx;
max-height: 160upx;
line-height: 40upx;
border: 1upx solid #e5e5e5;
border-radius: 5upx;
padding: 20upx;
}
.text-box view {
display: block;
visibility: hidden;
word-break: break-all;
word-wrap: break-word;
}
.text-box .weui-textarea {
width: 580upx;
height: 100%;
position: absolute;
left: 0upx;
top: 0upx;
overflow-y: hidden;
word-break: break-all;
word-wrap: break-word;
padding: 20upx;
}
.comment-reply-focus-send {
width: 80upx;
height: 40upx;
line-height: 40upx;
font-size: 30upx;
text-align: center;
color: #e84351;
position: absolute;
right: 30upx;
bottom: 0upx;
}
export default {
data() {
return {
currentInput: ''
};
},
methods: {
getInput(e) {
this.currentInput = e.detail.value;
},
// 发送
sendComment() {
console.log(this.currentInput);
}
}
};
感兴趣的还可以查看:div模拟textarea文本域轻松实现高度自适应
参考链接:https://blog.csdn.net/liuwengai/article/details/78987957
小程序实现textarea行数自动增加的更多相关文章
- .Net_用控制台程序打印指定行数的三角型(面试题)
.Net_用控制台程序打印指定行数的三角型(面试题) 下面是一个由*号组成的4行倒三角形图案.要求: 1.输入倒三角形的行数,行数的取值3-21之间,对于非法的行数,要求抛出提示“非法行数!”: ...
- 小程序实现textarea随输入的文字行数变化高度自动增加
参考链接:https://blog.csdn.net/liuwengai/article/details/78987957 该实现方法是根据上面的链接改编为小程序的实现,代码如下: wxml: < ...
- 微信小程序 实现多行文字 超出部分省略号显示
在开发小程序: 澳买 的 时候 遇到一个棘手的问题: 当搜索澳洲产品,获取产品列表的时候,有时候产品的名称翻译成中文特别长 我们不能全部在有限的列表里面把产品名都显示出来,这样格式不好控制,显示 出来 ...
- 微信小程序文字超过行后隐藏并且显示省略号
在小程序开发过程中,经常会遇到一些数据无法在text中完全展示,所以会使用到隐藏相关文字,并在后方加上省略号(...). 只需要在对应的text中设置下面的css就可以了. overflow:hidd ...
- 微信小程序开发——连续快速点击按钮调用小程序api返回后仍然自动重新调用的异常处理
前言: 小程序开发中诸如获取用户手机号码.调起微信支付.领取卡券等api都是会有一定的延迟的.也就是说通过点击按钮调用这些api的时候,从点击按钮调用api,到支付页面或者领取卡券界面展示出来是需要一 ...
- Java50道经典习题-程序19 输入行数打印菱形图案
题目:根据用户输入的行数打印菱形图案,若用户传入的是为偶数则提示用户重新输入,例如输入数字7打印出如下菱形图案 * *** ************ ***** *** *分析:先把图形分 ...
- 利用easyui的行编辑自动增加一行来进行增删有详细注解
jQuery EasyUI 框架提供了创建网页所需的一切,帮助您轻松建立站点. easyui 是一个基于 jQuery 的框架,集成了各种用户界面插件. easyui 提供建立现代化的具有交互性的 j ...
- 小技巧textbox的行数
没什么技术含量,但如果不知道则实现起来很麻烦. c#中textbox.lines只记录回车的数量,并不是真正的总行数,如何得到呢,请使用: int 总行数 = this.textBox1.GetLin ...
- 微信小程序页面3秒后自动跳转
setTimeout() 是属于 window 的方法,该方法用于在指定的毫秒数后调用函数或计算表达式. 语法格式可以是以下两种: setTimeout(function () { // wx.r ...
随机推荐
- 五、生产者消费者模型_ThreadLocal
1.生产者消费者模型作用和示例如下:1)通过平衡生产者的生产能力和消费者的消费能力来提升整个系统的运行效率 ,这是生产者消费者模型最重要的作用2)解耦,这是生产者消费者模型附带的作用,解耦意味着生产者 ...
- 【android官方文档】与其他App交互
发送用户到另外一个App YOU SHOULD ALSO READ 内容分享 One of Android's most important features is an app's ability ...
- Redis 一些基本的概念和基础
Redis 简介 Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库. Redis 与其他 key - value 缓存产品有以下三个特点: Redis支持数据的持久 ...
- 替换django的user模型出现的异常django.db.migrations.exceptions.InconsistentMigrationHistory: Migration admin.0001_initial is applied before its dependency users.0001_initial on database 'default'
django.db.migrations.exceptions.InconsistentMigrationHistory: Migration admin.0001_initial is applie ...
- 二十四 Redis消息订阅&事务&持久化
Redis数据类型: Redis控制5种数据类型:String,list,hash,set,sorted-set 添加数据,删除数据,获取数据,查看有多少个元素,判断元素是否存在 key通用操作 JR ...
- GNS3 ProxyArp(查看路由器是否具有转发功能)
R2是否可以把R1的数据转发出去,参看http://www.cnblogs.com/qq76211822/p/5129134.html 命令:show ip interface f0/0
- 当3D打影人头”成为黑客的秘密武器,隐私该如何保护?
在<碟中谍>系列电影中,除了超级敬业又帅气的阿汤哥之外,最让人津津乐道的桥段就是用3D打印做出来的"人头".通过这些惟妙惟肖的"人头",阿汤哥完成了 ...
- imple-unpack---攻防世界
拿到题目查壳没有发现.题目已经明确说了,基本上是有壳的,Linux下面看看 应该就是upx的壳了,下载upx进行脱壳,https://sourceforge.net/projects/upx/file ...
- 0203 生成mysql的数据库的数据字典
原理 项目的数据库字典表是一个很重要的文档.通过此文档可以清晰的了解数据表结构及开发者的设计意图. 通常为了方便我都是直接在数据库中建表,然后通过工具导出数据字典. 在Mysql数据库中有一个info ...
- Delphi IDFtp用法,包含断点续传
1 连接远程服务器procedure Connect(AAutoLogin: boolean; const ATimeout: Integer);2 改变目录procedure ChangeDir ...