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实现下拉菜单的实例代码
Jun 19 jQuery
jQuery实现可拖动进度条实例代码
Jun 21 jQuery
深入研究jQuery图片懒加载 lazyload.js使用方法
Aug 16 jQuery
JQuery用$.ajax或$.getJSON跨域获取JSON数据的实现代码
Sep 23 jQuery
jQuery实现轮播图及其原理详解
Apr 12 jQuery
vue-cli 引入jQuery,Bootstrap,popper的方法
Sep 03 jQuery
jQuery序列化form表单数据为JSON对象的实现方法
Sep 20 jQuery
用jQuery将JavaScript对象转换为querystring查询字符串的方法
Nov 12 jQuery
jquery+css实现Tab栏切换的代码实例
May 14 jQuery
jquery实现动态改变css样式的方法分析
May 27 jQuery
layui+jquery支持IE8的表格分页方法
Sep 28 jQuery
jquery实现拖拽添加元素功能
Dec 01 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
中国的第一台收音机
2021/03/01 无线电
基于jquery的一行代码轻松实现拖动效果
2010/12/28 Javascript
初识angular框架后的所思所想
2016/02/19 Javascript
基于jQuery实现的幻灯图片切换
2016/12/02 Javascript
老生常谈的跨域处理
2017/01/11 Javascript
Linux使用Node.js建立访问静态网页的服务实例详解
2017/03/21 Javascript
Gulp实现静态网页模块化的方法详解
2018/01/09 Javascript
JS实现中英文混合文字溢出友好截取功能
2018/08/06 Javascript
使用 Node.js 实现图片的动态裁切及算法实例代码详解
2018/09/29 Javascript
微信小程序如何实现在线客服功能
2019/10/16 Javascript
在vscode 中设置 vue模板内容的方法
2020/09/02 Javascript
[03:00]2014DOTA2国际邀请赛 Titan淘汰潸然泪下Ohaiyo专访
2014/07/15 DOTA
[02:20]DOTA2亚洲邀请赛 EHOME战队出场宣传片
2015/02/07 DOTA
[01:14]辉夜杯战队访谈宣传片—NEWBEE.Y
2015/12/26 DOTA
python中类的一些方法分析
2014/09/25 Python
Python中的下划线详解
2015/06/24 Python
Python的Flask框架中使用Flask-Migrate扩展迁移数据库的教程
2016/06/14 Python
python3写的简单本地文件上传服务器实例
2018/06/04 Python
pyqt5的QWebEngineView 使用模板的方法
2018/08/18 Python
Python日志模块logging基本用法分析
2018/08/23 Python
Python使用matplotlib绘制三维图形示例
2018/08/25 Python
树莓派用python中的OpenCV输出USB摄像头画面
2019/06/22 Python
Python何时应该使用Lambda函数
2019/07/02 Python
tensorflow 限制显存大小的实现
2020/02/03 Python
python中setuptools的作用是什么
2020/06/19 Python
CSS3实现文字波浪线效果示例代码
2016/11/20 HTML / CSS
会话Bean的种类
2013/11/07 面试题
2014年端午节活动方案
2014/03/11 职场文书
《美丽的南沙群岛》教学反思
2014/04/27 职场文书
五一活动标语
2014/06/30 职场文书
公安局副政委班子个人对照检查材料
2014/10/04 职场文书
暑期社会实践新闻稿
2015/07/17 职场文书
公司考勤管理制度
2015/08/04 职场文书
Goland使用Go Modules创建/管理项目的操作
2021/05/06 Golang
浅谈resultMap的用法及关联结果集映射
2021/06/30 Java/Android
使用CSS自定义属性实现骨架屏效果
2022/06/21 HTML / CSS