ExtJS点击添加一个按钮弹出prompt添加combo中

ExtJS点击添加一个按钮弹出prompt添加combo

2013718

18:14

    {

                     xtype:"button",

                                    text:"添加",

                                    anchor:'60%',

                                    handler:function(){

                                        var win = this.ownerCt.ownerCt.ownerCt;

                                        alert(win.title+""+win.xtype);

                                        var job = win.findByType("combo")[1];

                                        alert(job.fieldLabel);

                                        Ext.Msg.prompt("请输入职位的名称","职位名称",function(btn,value){

                                            //fn参数的含义是;1、可以得到用户点击的是ok还是cancelvalue获得用户输入的值

                                            if(btn=="ok"){

                                                var tempstore = job.store;

                                                tempstore.insert(0,new JOB({

                                                        job:value

                                                }));

                                                this.setValue(value);

                                            }

                                        },job);

                                    }

                                    }

方法:

  1. 在添加按钮处 添加一个handler的处理;
  2. 需要获得该window
  3. this.ownerCt.ownerCt.ownerCt来获得win的对象通过该对象,可以获得combo对象,
  4. 得到该对象的store
  5. 调用store当中insert方法,第一个参数是表示插入的位置,第二个参数表示的record的模板,
  6. JOB定义在window创建时的一个全局变量

 

var JOB = Ext.data.Record.create([{

            name:"job"

    }]);

 

知识点:

 如何获得prompt当中用户输入的值,和点击了那个按钮?

Ext.Msg.prompt参数:第一个参数表示prompttitle,第二个表示提示信息,第三个是用户输入的值,第四个是scope表示句柄,表示那个

对象,该对象可以的作用于是()之间,可以通过该scope来获得对象,案例当中的jobcombo职位这个组件,可以通过job获得该组件的

一些属性信息

 如何获得对象的类型?

通过对象.xtype方法可以获得其类型

 如何定义一个Record对象?

通过Ext.data.Record.create(name:"value")来定义一个Record

 

已使用 Microsoft OneNote 2013 创建。





原文地址:https://www.cnblogs.com/babyhhcsy/p/3434668.html