Extjs动态改变window的内容和fbar

本文介绍了如何使用ExtJS动态改变窗口(Window)的内容和底部工具栏(fbar)以实现类似翻页的导航功能。通过清除并添加新的内容到Panel,以及修改Button的文字来更新导航状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Extjs动态改变window的内容和fbar,实现类似翻页的导航。

今天做项目时,经理要求我实现win上的翻页功能,通过标题进行上一页和下一页的导航功能,查阅了相关资料后,实现了如下的效果,当标题超过20个字符时,进行截取,并加上省略号。

动态改变win内容的思路:先通过win获取到存放内容的panel,然后将panel中调用panel的removeAll()方法,将panel中所有内容移除掉(如果不remove的话,点击下一条的内容会追加到本页内容的下面),然后将新的内容追加到panel中。

获取到win的核心代码如下:

var content = App.AnnouncementLoginHTMLWin(win.result[0].content);//获取panel中应该放入的最新内容
var panel = win.find('itemId','contentItemId')[0];
panel.removeAll();
panel.add({

xtype:'label',

html: content

});
win.doLayout();

动态改变fbar内容的思路:先通过win获取到toolbar,然后再获取到button,通过调用button的setText()方法,动态的改变按钮的text内容。核心代码如下:

var toolbar = win.getFooterToolbar();
var preBut = toolbar.findByType('button')[0];
//动态改变上一页的值
if(preText == ""){
preBut.setText("<font size=2>上一条:</font><font color='red'>没有记录了</font>");
}else{
preText = App.replaceStr(preText,win.strLen);
preBut.setText("<font size=2>上一条:</font><font color='blue'>"+preText+"</font>");
}
//动态改变下一条的值
var nextBut = toolbar.findByType('button')[1];
if(nextText == ""){
nextBut.setText("<font size=2>下一条:</font><font color='red'>没有记录了</font>");
}else{
nextText = App.replaceStr(nextText,win.strLen);
nextBut.setText("<font size=2>下一条:</font><font color='blue'>"+nextText+"</font>");
}
/**
 * 判断字符串长度,如果大于num则后面的用省略号表示
 */
App.replaceStr=function(str,num){
//如果字符串长度没有超过指定长度,则不截串
if(str.length<=num){
return str;
}else{
str = str.substring(0,num)+"...";
}
return str;
}
在实现过程中,遇到过一个问题,就是传递到html中的内容是 &lt;div align=&amp;quot;center&amp;quot;&gt; 这种格式的,放入html中后,ext自动编译成了<div>这种格式,但是这不是我想要的结果,我想要的是html自动将<div>样式识别后的样式。最后在将 &lt;div align=&amp;quot;center&amp;quot;&gt; 这种格式的字符串传递给html前,先用Ext.util.Format.htmlDecode(content) 对内容进行转码,转换成<div>这种样式后,再将转后的字符串传递给html,html就能识别<div>,并能正确的显示样式了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值