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 相关文章推荐
使用IE6看老赵的博客 jQuery初探
Jan 17 Javascript
javascript hashtable 修正版 下载
Dec 30 Javascript
基于jquery的放大镜效果
May 30 Javascript
CheckBoxList多选样式jquery、C#获取选择项
Sep 06 Javascript
javascript ajax 仿百度分页函数
Oct 29 Javascript
使用node.js 制作网站前台后台
Nov 13 Javascript
基于jquery的手风琴图片展示效果实现方法
Dec 16 Javascript
jQuery Validation Plugin验证插件手动验证
Jan 26 Javascript
select自定义小三角样式代码(实用总结)
Aug 18 Javascript
Vue实现移动端左右滑动效果的方法
Nov 27 Javascript
vue-cli随机生成port源码的方法
Sep 02 Javascript
vue使用video插件vue-video-player详解
Oct 23 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
1982年日本摄影师镜头下的中国孩子 那无忧无虑的童年
2020/03/12 杂记
CI(CodeIgniter)框架中的增删改查操作
2014/06/10 PHP
JavaScript 异步调用框架 (Part 5 - 链式实现)
2009/08/04 Javascript
jquery ajax 登录验证实现代码
2009/09/23 Javascript
firefox和IE系列的相关区别整理 以备后用
2009/12/28 Javascript
使用PHP+JQuery+Ajax分页的实现
2013/04/23 Javascript
jQuery ajax serialize() 方法使用示例
2014/11/02 Javascript
javascript事件模型实例分析
2015/01/30 Javascript
JavaScript动态修改背景颜色的方法
2015/04/16 Javascript
JS模拟按钮点击功能的方法
2015/12/22 Javascript
javascript基本数据类型及类型检测常用方法小结
2016/12/14 Javascript
js实现图片切换(动画版)
2016/12/25 Javascript
使用Bootstrap + Vue.js实现表格的动态展示、新增和删除功能
2017/11/27 Javascript
vue引用js文件的多种方式(推荐)
2018/05/17 Javascript
在create-react-app中使用sass的方法示例
2018/10/01 Javascript
如何让node运行es6模块文件及其原理详解
2018/12/11 Javascript
JavaScript闭包与作用域链实例分析
2019/01/21 Javascript
layui实现数据表格隐藏列的示例
2019/10/25 Javascript
JavaScript实现京东快递单号查询
2020/11/30 Javascript
Python竟能画这么漂亮的花,帅呆了(代码分享)
2017/11/15 Python
Python中的并发处理之asyncio包使用的详解
2018/04/03 Python
使用python验证代理ip是否可用的实现方法
2018/07/25 Python
python中pip的使用和修改下载源的方法
2019/07/08 Python
Matplotlib scatter绘制散点图的方法实现
2020/01/02 Python
Python爬虫爬取微信朋友圈
2020/08/06 Python
香蕉共和国加拿大官网:Banana Republic加拿大
2018/08/06 全球购物
澳大利亚Rockwear官网:女子瑜伽、健身和运动服
2021/01/26 全球购物
大二学生学习个人自我评价
2014/01/19 职场文书
老干部工作汇报材料
2014/10/28 职场文书
检讨书大全
2015/01/27 职场文书
人事局接收函
2015/01/30 职场文书
安徽导游词
2015/02/12 职场文书
2015年政教主任工作总结
2015/07/23 职场文书
vue项目两种方式实现竖向表格的思路分析
2021/04/28 Vue.js
手写Spirit防抖函数underscore和节流函数lodash
2022/03/22 Javascript
移除Selenium中window.navigator.webdriver值
2022/06/10 Python