Vue实现textarea固定输入行数与添加下划线样式的思路详解


Posted in Javascript onJune 28, 2018

先上效果图###

Vue实现textarea固定输入行数与添加下划线样式的思路详解 

textarea下划线

设置一张1*35 //行高 的图片 , 设置背景图即可.

background: url('./img/linebg.png') repeat;
border: none;outline: none;overflow: hidden;
line-height: 35px;//注意行高要和背景图高度一致resize: none;

固定输入行数

需求:用户固定不论多少字节,只能输入2行.

因为是限制行数,所以不能用maxlength设置.

实现思路

首先想到计算出用户输入了几行,然后超出部分字符删除掉就OK.

<textarea class='textarea' @scroll='textsrc' v-model='text.Headquarters' ref='Headquarters' rows="2"></textarea>

首先取出

textarea元素的整体高度,然后除一下行高很轻松的到目前输入到几行.

因为如果用户一次复制一大段文字 ,  粘贴到textarea里则会直接出现多行 , 删除字符串超出部分换行还会触发scroll事件, 所以用if语句判断一下是否满足了限制.

发现多行代码排版错误,贴张图吧.

Vue实现textarea固定输入行数与添加下划线样式的思路详解 

textsrc() {  
this.$refs.Headquarters.scrollTo(0, 0)  
let LineNumber = this.$refs.Headquarters.scrollHeight / 35;  
if (LineNumber => 2) {   
this.state = false;  
} else {   
this.state = true;  
};  
!this.tiemr && !this.state && this.tiemer();  
this.tiemr && this.state && clearInterval(this.tiemr);  
if (this.state) {   
this.tiemr = null;  
}  
},

写一个删除多余字符函数

Vue实现textarea固定输入行数与添加下划线样式的思路详解 

tiemer() 
{  
this.tiemr = setInterval(() => 
{   
this.text.Headquarters = this.text.Headquarters.slice(   
0,   
this.text.Headquarters.length - 1   
);   
if (this.$refs.Headquarters.scrollHeight / 35 == 2)
{   
clearInterval(this.tiemr)   
this.tiemr = null   
this.state = true   
}
  },
 10);  
 },

最后贴一下 github ,欢迎有更好方法的大神赐教.

总结

以上所述是小编给大家介绍的使用Vue实现textarea固定输入行数与添加下划线样式,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
解javascript 混淆加密收藏
Jan 16 Javascript
Jquery Ajax学习实例7 Ajax所有过程事件分析示例
Mar 23 Javascript
简单漂亮的js弹窗可自由拖拽且兼容大部分浏览器
Oct 22 Javascript
jquery插件开发之实现google+圈子选择功能
Mar 10 Javascript
node.js中的fs.exists方法使用说明
Dec 17 Javascript
jquery获取select,option所有的value和text的实例
Mar 06 Javascript
js随机生成一个验证码
Jun 01 Javascript
vue子父组件通信的实现代码
Jul 09 Javascript
socket在egg中的使用实例代码详解
May 30 Javascript
小程序新版订阅消息模板消息
Dec 31 Javascript
基于jQuery实现挂号平台首页源码
Jan 06 jQuery
javascript前端实现多视频上传
Dec 13 Javascript
详解swipe使用及竖屏页面滚动方法
Jun 28 #Javascript
微信小程序wx.uploadfile 本地文件转base64的实现代码
Jun 28 #Javascript
浅谈vue首屏加载优化
Jun 28 #Javascript
jQuery实现获取选中复选框的值实例详解
Jun 28 #jQuery
Vue SPA单页应用首屏优化实践
Jun 28 #Javascript
Webpack的dll功能使用
Jun 28 #Javascript
详解基于DllPlugin和DllReferencePlugin的webpack构建优化
Jun 28 #Javascript
You might like
PHP的FTP学习(一)[转自奥索]
2006/10/09 PHP
php部分常见问题总结
2008/03/27 PHP
Ajax+PHP快速上手及简单应用说明
2013/07/24 PHP
Jquery中LigerUi的弹出编辑框(实现方法)
2013/07/09 Javascript
Javascript表格翻页效果实现思路及代码
2013/08/23 Javascript
QQ空间顶部折页撕开效果示例代码
2014/06/15 Javascript
jquery中获取元素里某一特定子元素的代码
2014/12/02 Javascript
JavaScript中的eval()函数使用介绍
2014/12/31 Javascript
AngularJS使用ng-repeat指令实现下拉框
2016/08/23 Javascript
JS中split()用法(将字符串按指定符号分割成数组)
2016/10/24 Javascript
BootStrap中jQuery插件Carousel实现轮播广告效果
2017/03/27 jQuery
js实现点击切换checkbox背景图片的简单实例
2017/05/08 Javascript
jQuery实现拖动效果的实例代码
2017/06/25 jQuery
微信小程序用户授权,以及判断登录是否过期的方法
2019/05/10 Javascript
这应该是最详细的响应式系统讲解了
2019/07/22 Javascript
layer.prompt输入层的例子
2019/09/24 Javascript
vue中动态select的使用方法示例
2019/10/28 Javascript
Vue实现附件上传功能
2020/05/28 Javascript
详解JavaScript作用域 闭包
2020/07/29 Javascript
python zip文件 压缩
2008/12/24 Python
python3中os.path模块下常用的用法总结【推荐】
2018/09/16 Python
Python 做曲线拟合和求积分的方法
2018/12/29 Python
python3对拉勾数据进行可视化分析的方法详解
2019/04/03 Python
Django框架首页和登录页分离操作示例
2019/05/28 Python
python实现将文件夹内的每张图片批量分割成多张
2019/07/22 Python
docker-py 用Python调用Docker接口的方法
2019/08/30 Python
Python字符串hashlib加密模块使用案例
2020/03/10 Python
python实现吃苹果小游戏
2020/03/21 Python
python 实现分组求和与分组累加求和代码
2020/05/18 Python
基于HTML5 的人脸识别活体认证的实现方法
2016/06/22 HTML / CSS
支部书记四风问题自我剖析材料
2014/09/29 职场文书
安全生产月标语
2014/10/07 职场文书
幼儿园小班教育随笔
2015/08/14 职场文书
2016企业先进集体事迹材料
2016/02/25 职场文书
《遗弃》开发商删推文要跑路?官方回应:还在开发
2022/04/03 其他游戏
彻底弄懂Python中的回调函数(callback)
2022/06/25 Python