有人知道ext怎么权限控制的吗?

小弟我初学Ext,最近用Ext开发了个小项目,但是当不同用户角色登录进去的时候某些按钮要hidden掉这个应该怎么做呢?
上网查了下都说可以用后台返回的角色来判断,
我的做法开始也是这样的,登录成功后我也获取到了后台返回的角色,但是因为现在还没有加载登录成功进入的那个界面没法获得按钮所以不能隐藏所要隐藏的按钮,代码如下:
form1.getForm().submit({
url:'login.action', method : 'get',

success : function(form, action) {
user=action.result.username;
if(user=='admin'){
Ext.get('detail').hide();
................... win.close();
window.location = "mainview.jsp";
},

failure : function(form, action) {
Ext.Msg.alert("出错啦",action.result.msg);
form1.form.reset();

document.getElementById("randcodeimg").src ="../pages/img.jsp?nocache="+new Date().getTime(); 

}
那位大哥大姐帮我看下到底应该怎么来做啊?最好有个小例子,小弟在此先谢谢了!

2个回答

在最外面定义一些属性例如

var flag = 后台java传递过来的是否隐藏的值(例如是true);

然后你在你的按钮就可以这样来写了

[code="js"]var button = new Ext.Button({
hidden:flag,
text:'submit'
}):[/code]

这样你就可以通过后台传递的参数来设置前台extjs按钮是否隐藏了

你这里遇到的是渲染的问题,Ext的任何组件都只有执行了render方法之后才能渲染到页面上,最简单的方式是对需要隐藏的render事件进行监听,例如:panel.on('render',function(){
//在这里对panel的子组件进行隐藏
})

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问