我有一个员工列表 下面有添加、修改两个按钮,点击添加按钮会弹出添加员工的AddForm 点击修改的按钮会弹出修改员工的form 因为这两个EditForm的布局是一样的 所以我想写成公用的 但是有些写法不会 请教大家一下:
他们的提交按钮事件应该如何动态赋值?
修改的界面肯定需要员工id,而添加界面不需要,这个id应该应该如何写呢?
谢谢,最好有个样例,刚学ext不久 ^_^
求教公共form的写法
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答
- chanball 2009-12-14 16:33关注
加一个状态位来判断执行什么动作,id一般是以hidden出现,这样回显的时候就把id传过来就自己填上了,如下:
[code="js"]
var Employee = Ext.extend(Ext.FormPanel,{
action:null,//状态位
record:null,//修改的记录的信息
initComponent:function(){
this.items = [{name:'id',xtype:'hidden'},{...}];
this.buttons = [{text:'确定',scope:this,handler:function(){
if(action=='add')
this.save();
else if(action=='update')
this.update()
}}]
Employee.superclass.initComponent.call(this);
},
onRender : function(){
//如果是修改的话,一般要先加载原来的信息
if(this.action=='update'){
this.form.load({
params:{
id:this.record.id
}
})
}
Employee.superclass.onRender.call(this);
},
//添加
save : function(){},
//修改
update : function(){}
});
//创建添加表单
var addForm = new Employee({
action:'add'
});//创建修改表单
var updateForm = new Employee({
action:'update'
});
[/code]大概是这样,具体的你看着办吧
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
- ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
- ¥20 有关区间dp的问题求解
- ¥15 多电路系统共用电源的串扰问题
- ¥15 slam rangenet++配置
- ¥15 有没有研究水声通信方面的帮我改俩matlab代码
- ¥15 ubuntu子系统密码忘记
- ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
- ¥15 保护模式-系统加载-段寄存器
- ¥15 电脑桌面设定一个区域禁止鼠标操作