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 相关文章推荐
推荐三款日期选择插件(My97DatePicker、jquery.datepicker、Mobiscroll)
Apr 21 jQuery
jQuery Validate 无法验证 chosen-select元素的解决方法
May 17 jQuery
jQuery validata插件实现方法
Jun 25 jQuery
jQuery层级选择器_动力节点节点Java学院整理
Jul 04 jQuery
jQuery 开发之EasyUI 添加数据的实例
Sep 26 jQuery
jQuery中 DOM节点操作方法大全
Oct 12 jQuery
jQuery 实现左右两侧菜单添加、移除功能
Jan 02 jQuery
使用Ajax和Jquery配合数据库实现下拉框的二级联动的示例
Jan 25 jQuery
jQuery实现的3D版图片轮播示例【滑动轮播】
Jan 18 jQuery
jQuery-Citys省市区三级菜单联动插件使用详解
Jul 26 jQuery
JS 遍历 json 和 JQuery 遍历json操作完整示例
Nov 11 jQuery
jQuery 函数实例分析【函数声明、函数表达式、匿名函数等】
May 19 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
十大催泪虐心动漫,你能坚持看到第几部?
2020/03/04 日漫
聊天室php&amp;mysql(六)
2006/10/09 PHP
我的论坛源代码(八)
2006/10/09 PHP
8个出色的WordPress SEO插件收集
2011/02/26 PHP
Eclipse中php插件安装及Xdebug配置的使用详解
2013/04/25 PHP
PHP中list方法用法示例
2016/12/01 PHP
JavaScript实现QueryString获取GET参数的方法
2013/07/02 Javascript
JQuery页面图片切换和新闻列表滚动效果的具体实现
2013/09/26 Javascript
js实现按钮加背景图片常用方法
2014/11/01 Javascript
AngularJS语法详解(续)
2015/01/23 Javascript
jquery实现平滑的二级下拉菜单效果
2015/08/26 Javascript
Javascript实现跨域后台设置拦截的方法详解
2017/08/04 Javascript
关于laydate.js加载laydate.css路径错误问题解决
2017/12/27 Javascript
vue构建动态表单的方法示例
2018/09/22 Javascript
Seajs源码详解分析
2019/04/02 Javascript
基于Express框架使用POST传递Form数据
2019/08/10 Javascript
vue远程加载sfc组件思路详解
2019/12/25 Javascript
基于Element的组件改造的树形选择器(树形下拉框)
2020/02/27 Javascript
浅析vue中的nextTick
2020/12/28 Vue.js
[01:00:25]2018DOTA2亚洲邀请赛3月30日 小组赛A组 VG VS Liquid
2018/03/31 DOTA
python定时执行指定函数的方法
2015/05/27 Python
python使用标准库根据进程名如何获取进程的pid详解
2017/10/31 Python
python清除字符串中间空格的实例讲解
2018/05/11 Python
python查找重复图片并删除(图片去重)
2019/07/16 Python
Python log模块logging记录打印用法解析
2020/01/20 Python
tensorflow使用指定gpu的方法
2020/02/04 Python
解决python执行较大excel文件openpyxl慢问题
2020/05/15 Python
python爬虫分布式获取数据的实例方法
2020/11/26 Python
商务英语专业毕业生自荐信
2013/11/05 职场文书
优秀毕业生找工作自荐信
2014/06/23 职场文书
电话客服专员岗位职责
2014/06/28 职场文书
2015年学习部工作总结范文
2015/03/31 职场文书
债务纠纷代理词
2015/05/25 职场文书
新西兰:最新留学学习计划书写作指南
2019/07/15 职场文书
简单总结SpringMVC拦截器的使用方法
2021/06/28 Java/Android
使用Springboot实现健身房管理系统
2021/07/01 Java/Android