Vue实现input宽度随文字长度自适应操作


Posted in Javascript onJuly 29, 2020

Vue实现input宽度随文字长度自适应操作

业务需求,输入文字,后面的元要紧随其后,奈何input默认是有宽度,我想要达到,输入文字,动态改变input的宽度,试了很多方法,目前自己琢磨一种,有遇到问题的可以参考一下,

直接贴代码

<div class="textcontain">
     <input
      type="text"
      v-model.number="item.cardComboMoney"
      maxlength="5"
      placeholder="设定数值"
      oninput="value=value.replace(/^(0+)|[^\d]+/g,'')"
      :disabled='disabled'
      :style="{width:text(item.cardComboMoney)}"
     >
     <span
      class="textshow"
      v-if="item.cardComboMoney!=0&&item.cardComboMoney!=''"
     >元</span>
    </div>
computed: {
  text () {
   return function (value) {
    if (value == '' || value == 0) {
     return '100%'
    } else {
     return String(value).length * 0.32 + 'rem'
    }
   }
  }
 },

利用计算属性,计算当前字体的长度,我这里最多允许输入5个字符的长度,所以这样计算影响不大

补充知识:input宽度自适应(解决文字占位宽度不同所引起的问题)

问题描述:

input在输入的时候,要能让input的宽度随着输入的文字自动增宽。

思路1:获取文字的内容,然后通过文字.length * font-size计算文字的宽度,但是由于文字“i”与“中”显然占位宽度不同而引起宽度差

思路:

设置一个隐藏的span,使其font属性与input统一,然后获取span的宽度,赋值给input

<!DOCTYPE html>
<html lang="en">
 
<head>
 <meta charset="UTF-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.js"></script>
 <title>input宽度自适应</title>
 <style>
  body {
   font-size: 16px;
   font-family: Arial, Helvetica, sans-serif;
  }
 
  #my-input {
   width: 20px;
   padding: 0;
   font-size: 16px;
   font-family: Arial, Helvetica, sans-serif;
  }
 
  #my-span {
   position: absolute;
   left: 0;
   visibility: hidden;
  }
 </style>
</head>
 
<body>
 <!-- 思路:将文字内容赋值给隐藏的span,然后将input的宽度设置为span的宽度 -->
 <span id="my-span"></span>
 <input type="text" id="my-input" oninput="changeWidth()">
 
 <script>
  function changeWidth() {
   var mySpan = $("#my-span");
   var myInput = $("#my-input");
   mySpan.html(myInput.val()); //给span赋值
   if (mySpan.width() > 20) {
    myInput.css('width', mySpan.width());
   }
  }
 </script>
</body>
 
</html>

以上这篇Vue实现input宽度随文字长度自适应操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
动感效果的TAB选项卡jquery 插件
Jul 09 Javascript
js Dialog 实践分享
Oct 22 Javascript
JS获得QQ号码的昵称,头像,生日的简单实例
Dec 04 Javascript
jquery处理json对象
Nov 03 Javascript
js实现基于正则表达式的轻量提示插件
Aug 29 Javascript
JS实现为排序好的字符串找出重复行的方法
Mar 02 Javascript
浅谈DOM的操作以及性能优化问题-重绘重排
Jan 08 Javascript
js实现产品缩略图效果
Mar 10 Javascript
react.js 父子组件数据绑定实时通讯的示例代码
Sep 25 Javascript
JS对象与json字符串相互转换实现方法示例
Jun 14 Javascript
解决vue项目nginx部署到非根目录下刷新空白的问题
Sep 27 Javascript
Vue在 Nuxt.js 中重定向 404 页面的方法
Apr 23 Javascript
vue 判断元素内容是否超过宽度的方式
Jul 29 #Javascript
在vue中实现给每个页面顶部设置title
Jul 29 #Javascript
vue实现移动端项目多行文本溢出省略
Jul 29 #Javascript
ElementUI 修改默认样式的几种办法(小结)
Jul 29 #Javascript
Element中Slider滑块的具体使用
Jul 29 #Javascript
vue 实现超长文本截取,悬浮框提示
Jul 29 #Javascript
javascript实现移动端触屏拖拽功能
Jul 29 #Javascript
You might like
从零开始的异世界生活:第二季延期后,B站上架了第二部剧场版
2020/05/06 日漫
php生成zip压缩文件的方法详解
2013/06/09 PHP
php 检查电子邮件函数(自写)
2014/01/16 PHP
彻底删除thinkphp3.1案例blog标签的方法
2014/12/05 PHP
JavaScript中的new的使用方法与注意事项
2007/05/16 Javascript
javascript一些不错的函数脚本代码
2008/09/10 Javascript
常用简易JavaScript函数
2009/04/09 Javascript
jQuery Flash/MP3/Video多媒体插件
2010/01/18 Javascript
JS判断当前日期是否大于某个日期的实现代码
2012/09/02 Javascript
打印json对象的内容及JSON.stringify函数应用
2013/03/29 Javascript
javascrip关于继承的小例子
2013/05/10 Javascript
原生js事件的添加和删除的封装
2014/07/01 Javascript
推荐JavaScript实现继承的最佳方式
2014/11/11 Javascript
基于jquery实现人物头像跟随鼠标转动
2015/08/23 Javascript
WordPress中鼠标悬停显示和隐藏评论及引用按钮的实现
2016/01/12 Javascript
浅析在javascript中创建对象的各种模式
2016/05/06 Javascript
详解微信小程序开发之下拉刷新 上拉加载
2016/11/24 Javascript
Vue数据驱动模拟实现3
2017/01/11 Javascript
详解vue嵌套路由-query传递参数
2017/05/23 Javascript
浅谈Koa服务限流方法实践
2017/10/23 Javascript
javascript+css3开发打气球小游戏完整代码
2017/11/28 Javascript
使用koa-log4管理nodeJs日志笔记的使用方法
2018/11/30 NodeJs
Nodejs实现的操作MongoDB数据库功能完整示例
2019/02/02 NodeJs
jQuery分组选择器简单用法示例
2019/04/04 jQuery
extjs图表绘制之条形图实现方法分析
2020/03/06 Javascript
[42:50]NB vs VP 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
python定向爬取淘宝商品价格
2018/02/27 Python
python smtplib发送带附件邮件小程序
2018/05/22 Python
python3 json数据格式的转换(dumps/loads的使用、dict to str/str to dict、json字符串/字典的相互转换)
2019/04/01 Python
python编写一个会算账的脚本的示例代码
2020/06/02 Python
C语言如何决定使用那种整数类型
2016/11/26 面试题
工程部主管岗位职责
2013/11/17 职场文书
教育专业个人求职信
2013/12/02 职场文书
国际商务英语专业求职信
2014/07/08 职场文书
2015年五一劳动节演讲稿
2015/03/18 职场文书
2016年保险公众宣传日活动总结
2016/04/05 职场文书