问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

jquery easyui的表格中,当某列数据的内容很多,我们不想让他换行,直接将多余的文字用"……"替代,接着当

发布网友 发布时间:2022-05-14 21:00

我来回答

3个回答

懂视网 时间:2022-05-15 01:21

这篇文章主要介绍了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,请转头看://www.gxlcms.com/article/115161.htm,上去,自己动。哦不,自己动手把它配好)

changeTxt($(this))

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

结果当然是错误:

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

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

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

changeTxt(this)

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

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

给元素定义 ref

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

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

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

无奈,只能通过最笨的方法,给我们的 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;
 }
}

上面是我整理给大家的,希望今后会对大家有帮助。

相关文章:

利用JS脚本加载后如何实现能执行相应回调函数

利用vue+webpack如何解决打包文件 404 页面空白问题

通过webpack项目如何实现调试以及独立打包配置文件(详细教程)

热心网友 时间:2022-05-14 22:29

nowrap 设置为true,当数据长度超出列宽时将会自动截取。

热心网友 时间:2022-05-14 23:47

formatter:function(){
//写呗

}
随便会说的追问这里能格式化一下字符串,但是显示出来后,当鼠标移到上面时怎么给予提示框将所有的内容显示出来,主要是这个问题啦。请继续

追答你看看easyui的dategrid源码,他也是用table画出的(js打出),平常table怎么控制的他也是能怎么控制并浮出框的

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
谁能给个单机版的风云之雄霸天下啊?? 求风云雄霸天下PC单机游戏WIN7版 雄霸天下任务指南 开心网001老房子卖了以后家具还有吗? 为什么001开心网买房子组件删除仓库里的东西都没了 请教一下,开心001的开心庄园里面的建材有好多富余的的 除了5元一个卖... 开心网001小号怎么给大号送房子? 开心网001多少级能送别人房子?多少级能接受别人给的房子? 开心网001果实或家具能送人吗 开心网(kaixin001)怎么买外地房子? 脚晚上疼的厉害,不是不脉管炎? 中国人寿骗子公司,小险理赔快,出了大险保险以各种理由不给理赔,人都没一年多了还发信息打电话让交保 男的为女的买了人寿保险女的因事故死了, 但是保险公司却不理赔用到了*。如果你是法官你会怎么 信诚人寿保险公司说投保人发生意外事故不理赔?说不在保险范围之内呢 司令、军长、师长、旅长、团长、营长、连长、排长、班分别管多少人? 一般纳税人可以申请简易计税么?简易计税是3%的税率? 简易征收一般纳税人增值税率是1%还是3% 初中生如何写人物作文 如何初中写人的作文 如何写好初中的写人作文? 火星异种是先看第一话还是先看前传篇? 写好初中写人作文方法 写人的基本作文要求 初中写人的作文要写什么 人的血脂正常值是多少? 湖北省大冶市二手房过户123.69平方老房子,总价130000万,土地出让金交多少? 商品房70年后怎么办土地出让金该交多少啊 30年的划拨地老宅土地出让金是多少钱?怎么计算 商铺产权40年后土地出让金要交多少 老公拿着我的身份证复印件可以办贷款吗 经常脚疼,不是抽筋噢。特别是睡觉到半夜,怎么办 无缘无故突然脚疼的厉害是怎么回事 四川省宜宾市太平洋保险公司理赔电话号码? 4月份建行有什么理财产品 原创力文档投稿怎么赚钱 如何投稿赚稿费? 如何才能在网上投稿赚钱 有没有可以上传文档赚钱的网站? 股市入门应该从哪里开始?怎么学习看大盘和分析股票? 分析股票从哪些方面入手 如何分析一只股票?应该先从哪方面着手. 如何用MACD判断一只股票会涨 怎么判断一支股票是否会上涨 怎么判断一支股票,未来 请问怎样看出一只股票明天要涨? 如何看股票K线图,K线图中那五条线又代表什么? 如何从K 图判断那只股票要涨? 手机卡锁了怎么办解除? 韩国有哪些知名的女演员 著名的韩国女星有哪些 韩国最知名的女影视明星有哪些 韩国都有哪些比较出名的女明星啊