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中clone()函数实现表单中增加和减少输入项
May 13 jQuery
jquery基于layui实现二级联动下拉选择(省份城市选择)
Jun 20 jQuery
详解在vue-cli中引用jQuery、bootstrap以及使用sass、less编写css
Nov 08 jQuery
轻松搞定jQuery+JSONP跨域请求的解决方案
Mar 06 jQuery
JS文件中加载jquery.js的实例代码
May 05 jQuery
jQuery实现百度图片移入移出内容提示框上下左右移动的效果
Jun 05 jQuery
jquery分页优化操作实例分析
Aug 23 jQuery
jQuery实现判断滚动条滚动到document底部的方法分析
Aug 27 jQuery
jquery实现抽奖功能
Oct 22 jQuery
如何在vue 中引入使用jquery
Nov 10 jQuery
jQuery+ajax实现文件上传功能
Dec 22 jQuery
详解jQuery的核心函数和事件处理
Feb 18 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实现快速排序法函数代码
2012/08/27 PHP
php使用curl打开https网站的方法
2015/06/17 PHP
symfony2.4的twig中date用法分析
2016/03/18 PHP
php常用字符串查找函数strstr()与strpos()实例分析
2019/06/21 PHP
JavaScript的模块化:封装(闭包),继承(原型) 介绍
2013/07/22 Javascript
JavaScript作用域链示例分享
2014/05/27 Javascript
基于jquery实现的文字向上跑动类似跑马灯的效果
2014/06/17 Javascript
React.js入门学习第一篇
2016/03/30 Javascript
AJAX实现瀑布流触发分页与分页触发瀑布流的方法
2016/05/23 Javascript
仅9张思维导图帮你轻松学习Javascript 就这么简单
2016/06/01 Javascript
Bootstrap实现各种进度条样式详解
2017/04/13 Javascript
jQuery实现动态控制页面元素的方法分析
2017/12/20 jQuery
JS验证输入的是否是数字及保留几位小数问题
2018/05/09 Javascript
基于JS实现一个随机生成验证码功能
2019/05/29 Javascript
详解Node.js异步处理的各种写法
2019/06/09 Javascript
layui实现tab的添加拒绝重复的方法
2019/09/04 Javascript
微信小程序实现手指拖动选项排序
2020/04/22 Javascript
javascript如何使用函数random来实现课堂随机点名方法详解
2020/07/28 Javascript
JavaScript中arguments的使用方法详解
2020/12/20 Javascript
JS相册图片抖动放大展示效果的示例代码
2021/01/29 Javascript
Python中操作MySQL入门实例
2015/02/08 Python
Python单元测试框架unittest简明使用实例
2015/04/13 Python
python自动zip压缩目录的方法
2015/06/28 Python
在cmd命令行里进入和退出Python程序的方法
2018/05/12 Python
Python捕获异常堆栈信息的几种方法(小结)
2020/05/18 Python
Python使用Turtle模块绘制国旗的方法示例
2021/02/28 Python
新西兰优惠网站:Treat Me
2019/07/04 全球购物
智乐游戏测试笔试题
2014/05/21 面试题
学历公证委托书
2014/04/09 职场文书
班主任评语大全
2014/04/26 职场文书
带病坚持工作事迹
2014/05/03 职场文书
公司贷款承诺书
2014/05/30 职场文书
2014国庆节国旗下演讲稿(精选版)
2014/09/26 职场文书
公安个人四风问题对照检查及整改措施
2014/10/28 职场文书
2014年初中班主任工作总结
2014/11/08 职场文书
Redis实战之Lettuce的使用技巧详解
2022/12/24 Redis