lyon_fanfan 2009-12-12 23:39
浏览 167
已采纳

求教公共form的写法

我有一个员工列表 下面有添加、修改两个按钮,点击添加按钮会弹出添加员工的AddForm 点击修改的按钮会弹出修改员工的form 因为这两个EditForm的布局是一样的 所以我想写成公用的 但是有些写法不会 请教大家一下:
他们的提交按钮事件应该如何动态赋值?
修改的界面肯定需要员工id,而添加界面不需要,这个id应该应该如何写呢?
谢谢,最好有个样例,刚学ext不久 ^_^

  • 写回答

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 电脑桌面设定一个区域禁止鼠标操作