小程序实现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 ...
随机推荐
- laravel-url去掉public
把laravel/server.php改名为index.php 并且将public目录下的.htaccess拷贝到Larvael根目下 Ok了 but why? 自己查去吧
- vue 组件 - 函数统一调用(自定义钩子)
vue 组件继承方法 var childComponent = Vue.extend( { extends: baseComp, // 继承基础组件方法 template:template, wait ...
- SQL SERVER查询数据库所有的表名/字段
SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='subject' --表名 1.利用sysobjects系统表 在这个表中,在数据 ...
- extract()和extact_first()的区别
extract()和extact_first()都是提取Selector的data部分.但现在你要先知道什么是Selector. Selector是选择器的意思.具体定义我不知道,但通过下面的例子,你 ...
- Redis官方Tutorial
基本命令 包括SET , GET , INCR , DEL , EXPIRE , TTL SET server:name "10" GET server:name IN ...
- 再次实践 MySQL chart【转】
学习了 chart 结构和模板的知识后,现在重新实践一次 MySQL chart,相信会有更多收获. chart 安装前的准备 作为准备工作,安装之前需要先清楚 chart 的使用方法.这些信息通常记 ...
- 论文阅读:Blink-Fast Connectivity Recovery Entirely in the Data Plane
1.背景 在网络中,链路故障的发生在所难免,为了降低故障带来的影响,就需要重新路由,将数据传输到合适的链路上.当因为链路故障发生处的不同,也有不同的解决方法. AS(Autonomous System ...
- oracle 实现主键id自增
公司现在项目数据库使用oracle,oracle实现表主键自增比mysql麻烦 mysql 在表主键auto_increment 打钩即可.oracle没有改属性,就相对麻烦.特此记录一下自增方法 测 ...
- 数学软件实训1-MATLAB程序设计及应用初步
数学软件实训任务一 一 题目:MATLAB程序设计及应用初步 二 目的:掌握MATLAB程序设计的基本方法,会利用MATLAB程序设计思想编程处理一些简单问题. 三 要求: 1 掌握控制流的基本语法结 ...
- angular.js开发 将多页面开发成单页面
用angulara.js做单页面开发时,由于不能跨页面取数据,又需要传参,可以采用:$scope.step=0/1来解决这个问题,设置初始值为想要的页面即可.