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 按回车键相应按钮提交事件
Nov 02 Javascript
jQuery+CSS 实现的超Sexy下拉菜单
Jan 17 Javascript
JavaScript DOM 学习第三章 内容表格
Feb 19 Javascript
解读JavaScript中 For, While与递归的用法
May 07 Javascript
基于Unit PNG Fix.js有时候在ie6下不正常的解决办法
Jun 26 Javascript
JavaScript学习总结之JS、AJAX应用
Jan 29 Javascript
JavaScript实现打印星型金字塔功能实例分析
Sep 27 Javascript
详解React服务端渲染从入门到精通
Mar 28 Javascript
如何用原生js写一个弹窗消息提醒插件
May 24 Javascript
Node.js从字符串生成文件流的实现方法
Aug 18 Javascript
关于layui的下拉搜索框异步加载数据的解决方法
Sep 28 Javascript
Node.js文本文件BOM头的去除方法
Nov 22 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数组函数序列之array_sum() - 计算数组元素值之和
2011/10/29 PHP
PHP中常用的转义函数
2014/02/28 PHP
分享一个php 的异常处理程序
2014/06/22 PHP
PHP常见的6个错误提示及解决方法
2016/07/07 PHP
javascript Prototype 对象扩展
2009/05/15 Javascript
Jquery 弹出层插件实现代码
2009/10/24 Javascript
强大的jquery插件jqeuryUI做网页对话框效果!简单
2011/04/14 Javascript
js模仿html5 placeholder适应于不支持的浏览器
2013/01/13 Javascript
原生js实现移动端瀑布流式代码示例
2015/12/18 Javascript
Bootstrap每天必学之导航条(二)
2016/03/01 Javascript
AngularJS 遇到的小坑与技巧小结
2016/06/07 Javascript
picLazyLoad 实现图片延时加载(包含背景图片)
2016/07/21 Javascript
form+iframe解决跨域上传文件的方法
2016/11/18 Javascript
[01:03:59]2018DOTA2亚洲邀请赛3月30日 小组赛B组VGJ.T VS Secret
2018/03/31 DOTA
[59:36]2018DOTA2亚洲邀请赛 4.3 突围赛 Secret vs VG 第二场
2018/04/04 DOTA
python进阶教程之动态类型详解
2014/08/30 Python
Python读取一个目录下所有目录和文件的方法
2016/07/15 Python
python获取程序执行文件路径的方法(推荐)
2018/04/26 Python
浅谈Python接口对json串的处理方法
2018/12/19 Python
Python ellipsis 的用法详解
2020/11/20 Python
python实现经纬度采样的示例代码
2020/12/10 Python
医学院毕业生自荐信
2013/11/08 职场文书
企划经理的岗位职责
2013/11/17 职场文书
本科生职业生涯规划书范文
2014/01/21 职场文书
总经理文秘岗位职责
2014/02/03 职场文书
党的群众路线教育实践活动总结报告
2014/04/28 职场文书
大学社团计划书
2014/05/01 职场文书
公司活动总结怎么写
2014/06/25 职场文书
毕业生应聘求职信
2014/07/10 职场文书
护士医德医风自我评价
2014/09/15 职场文书
慰问信格式规范
2015/03/23 职场文书
jQuery class属性操作addClass()与removeClass()、hasClass()、toggleClass()
2021/03/31 jQuery
Java集成swagger文档组件
2021/06/28 Java/Android
redis使用不当导致应用卡死bug的过程解析
2021/07/01 Redis
go goroutine 怎样进行错误处理
2021/07/16 Golang
sql时间段切分实现每隔x分钟出一份高速门架车流量
2022/02/28 SQL Server