Vue+jquery实现表格指定列的文字收缩的示例代码


Posted in jQuery onJanuary 09, 2018

本文介绍了Vue+jquery实现表格指定列的文字收缩的示例代码,分享给大家,具体如下:

Vue+jquery实现表格指定列的文字收缩的示例代码

效果很简单,但是写起来真的不容易,因为Vue对于没有React这种前端框架经验的人是不友好的
(少吐槽,多工作,省下时间出去hi)

先说一下我走过的弯路:我之间想通过 v-if 指令去操作这一列

代码是这样的:

<el-table-column width="250" align="center" label="比较基准">
 <template scope="scope">
  <span v-if="isAllTxt">{{getShortStr(scope.row.benchmark)}}</span>
  <span v-else>{{scope.row.benchmark}}</span>
  <i @click="changeTxt" style="margin-left:8px;color: #20a0ff;" class="el-icon-more"></i>
 </template> 
</el-table-column>

changeTxt 方法去改变 isAllTxt这个boolean 从而达到控制长短文字的显示

额,然后每次点击任意一行,这一列所有的文字都改变了。呃呃呃,这样产品绝对不会答应的,你以为是上课全体起立么???

好,我们用原来jquery时代开发的经验,在点击事件中传入 $(this) ,手动改dom

(前提是项目配置了jquery,请转头看:https://3water.com/article/115161.htm,上去,自己动。哦不,自己动手把它配好)

changeTxt($(this))

changeTxt(ref) {
  ref.text(XXX);
}

结果当然是错误:

Vue+jquery实现表格指定列的文字收缩的示例代码

那底下就有同学说是不是jquery导错了???

当然也不是,这里的 this 并不是 dom 的 this,是vue的vm对象,不信的可以在方法中用jquery的 $ 试一下,并不是jquery的锅。

那又有爱思考的小伙伴说我用直接用 this 可以么 ?

changeTxt(this)

Vue+jquery实现表格指定列的文字收缩的示例代码

得到的并不是当前元素的对象,这条路又不通。

那vue中是怎么得到元素的对象的呢???

给元素定义 ref

<span ref="txt">{{getShortStr(scope.row.benchmark)}}</span>

方法中通过 this.$refs['txt'].text(XXX) 改变dom,嗯?

Vue+jquery实现表格指定列的文字收缩的示例代码

引用返回的是什么 ??? 没法操作啊 ,而且返回的这个标签是表格最后一行的数据,哇,乱七八糟,爆炸。

无奈,只能通过最笨的方法,给我们的 span 定义 id ,而且是不同的 id ,用 jquery 获取 id 对应的元素

<el-table-column width="250" align="center" label="比较基准"> 
 <template scope="scope">
   <span :id="scope.row.id">{{getShortStr(scope.row.benchmark)}}</span>
  <i v-if="scope.row.benchmark.length>20" @click="changeTxt(scope.row.benchmark,scope.row.id)" style="margin-left:8px;color: #20a0ff;" class="el-icon-more">
  </i>
 </template>
</el-table-column>

// changeTxt方法:
  changeTxt(txt,id) {
   this.isAllTxt = !this.isAllTxt;
   if(this.isAllTxt){
    $('#'+id).text(txt);
   }else{
    $('#'+id).text(this.getShortStr(txt));
   }
  }

// getShortStr 方法
getShortStr(txt_origin) {
 if(txt_origin.length > 20){
  return txt_origin.substring(0,20);
 }else{
  return txt_origin;
 }
}

搞定是搞定了,但是 jquery 和 vue 的风格是不一样的,混用体验并不是很好,有好的方法请一定留言告诉我,必定送上一句 谢谢 !!!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

jQuery 相关文章推荐
jQuery获取单选按钮radio选中值与去除所有radio选中状态的方法
May 20 jQuery
jQuery自定义多选下拉框效果
Jun 19 jQuery
jquery动态添加带有样式的HTML标签元素方法
Feb 24 jQuery
jQuery实现鼠标移到某个对象时弹出显示层功能
Aug 23 jQuery
jQuery实现基本隐藏与显示效果的方法详解
Sep 05 jQuery
jquery判断滚动条距离顶部的距离方法
Sep 05 jQuery
jQuery实现的自定义轮播图功能详解
Dec 28 jQuery
jQuery实现带3D切割效果的轮播图功能示例【附源码下载】
Apr 04 jQuery
jquery 键盘事件 keypress() keydown() keyup()用法总结
Oct 23 jQuery
jQuery 函数实例分析【函数声明、函数表达式、匿名函数等】
May 19 jQuery
JQuery获得内容和属性方法解析
May 30 jQuery
jquery实现淡入淡出轮播图效果
Dec 13 jQuery
如何快速解决JS或Jquery ajax异步跨域的问题
Jan 08 #jQuery
jQuery+SpringMVC中的复选框选择与传值实例
Jan 08 #jQuery
JQuery实现table中tr上移下移的示例(超简单)
Jan 08 #jQuery
(模仿京东用户注册)用JQuery实现简单表单验证,初学者必看
Jan 08 #jQuery
jQuery+CSS实现的table表格行列转置功能示例
Jan 08 #jQuery
基于jquery trigger函数无法触发a标签的两种解决方法
Jan 06 #jQuery
jQuery中库的引用方法
Jan 06 #jQuery
You might like
php程序之die调试法 快速解决错误
2009/09/17 PHP
php常用Output和ptions/Info函数集介绍
2013/06/19 PHP
ThinkPHP中create()方法自动验证表单信息
2017/04/28 PHP
php中上传文件的的解决方案
2018/09/25 PHP
jquery实现div拖拽宽度示例代码
2013/07/31 Javascript
Jquery判断$(&quot;#id&quot;)获取的对象是否存在的方法
2013/09/25 Javascript
移动节点的jquery代码
2014/01/13 Javascript
jsp网页搜索结果中实现选中一行使其高亮
2014/02/17 Javascript
javascript操作数组详解
2014/12/17 Javascript
jQuery实现Flash效果上下翻动的中英文导航菜单代码
2015/09/22 Javascript
一步步教大家编写酷炫的导航栏js+css实现
2016/03/14 Javascript
vue实现添加标签demo示例代码
2017/01/21 Javascript
jquery实现tab键进行选择后enter键触发click行为
2017/03/29 jQuery
ES6中Iterator与for..of..遍历用法分析
2017/03/31 Javascript
纯javascript实现选择框的全选与反选功能
2019/04/08 Javascript
解决vue加scoped后就无法修改vant的UI组件的样式问题
2020/09/07 Javascript
vue登录页实现使用cookie记住7天密码功能的方法
2021/02/18 Vue.js
Python笔记(叁)继续学习
2012/10/24 Python
python数据类型_元组、字典常用操作方法(介绍)
2017/05/30 Python
Django实现全文检索的方法(支持中文)
2018/05/14 Python
解决pyinstaller打包exe文件出现命令窗口一闪而过的问题
2018/10/31 Python
Python 利用切片从列表中取出一部分使用的方法
2019/02/01 Python
在脚本中单独使用django的ORM模型详解
2020/04/01 Python
三星新西兰官网:Samsung新西兰
2019/03/05 全球购物
财务经理的岗位职责
2013/12/17 职场文书
银行存款证明样本
2014/01/17 职场文书
银行简历自我评价
2014/02/11 职场文书
《七颗钻石》教学反思
2014/02/28 职场文书
亲子阅读的活动方案
2014/08/15 职场文书
小学教师师德整改措施
2014/09/29 职场文书
2014年工程工作总结
2014/11/25 职场文书
协议书范文
2015/01/27 职场文书
毕业生捐书活动倡议书
2015/04/27 职场文书
2015年幼儿园班务工作总结
2015/05/12 职场文书
小学班主任教育随笔
2015/08/15 职场文书
TV动画《八十龟酱观察日记》第四季宣传PV公布
2022/04/06 日漫