Sencha Touch学习使用心得 Unit 3

继续我们的征途......

本文介绍Model和Store的详细使用.Model和Store是要配合使用的好基友。

我们来运用Model和Store来修改一下查询页面的页面效果:即下图

Chapter 1:创建Model

    Model类似实体,继承在Ext.data.Model下,配置fields:字段 属性

Ext.define('ST.model.Unit', {
    extend: 'Ext.data.Model',
    config: {
        //identifier:"uid",
        fields: [
    {
        name: 'sid',
        type: 'string'
    }, {
        name: 'unit',
        type: 'string'
}]

    }
});

Chapter 2:配置Store

    Store继承在Ext.data.Store下,Store就是数据源,如有Extjs基础就方便理解,既可以后台赋予数据,也可本地配置数据

咱们查询页面要做的Selected样式就需要本地Store数据.

    在配置config里,必须要指定Model,才能配合使用,配置storeid才能方便查找使用.在data中配置里本地数据,稍后会演示异步获取数据的案例

Ext.define('ST.store.Units', {
    extend: 'Ext.data.Store',
    config: {
    model: 'ST.model.Unit',
        storeId: 'units',
        data: [{
            sid:'1',
            unit: '单号'
        },
        {
            sid: '2',
            unit: '手机号'
        },
        {
            sid: '3',
            unit: 'AppleID'
        },
        {
            sid: '4',
            unit: '序列号'
}]
        }

    });

Chapter 3:前台页面展示

    将原来的两个文本框注释,换成SelectFied组件(其他数据组件也可以).SelectFied数据源指定StoreId,其他配置都能看懂吧

Ext.define('ST.view.query', {       //创建视图
    extend: 'Ext.form.Panel',//继承在Ext.form.Panel下
    config: {
        tabBar: {
            ui: "neutral",
            layout: {
                pack: "center"
            }
        },
        fullscreen: true,
        id: "queryForm",
        items: [
        {
            xtype: 'titlebar',
            docked: 'top',
            title: '查询页'
        },
        { xtype: "spacer", height: 30 },
        {
            xtype: "fieldset",
            title: " ",
            instructions: "Please enter your info.",
            defaults: {
                labelWidth: '35%'
            },
            items: [
            {
                xtype: 'selectfield',
                name: 'unit',
                itemId: 'sid',
                label: '查询类型',
                valueField: 'unit',
                displayField: 'unit',
                store: 'units',
                queryMode: 'local'
            },
        {
            xtype: 'textfield',
            border: 1,
            id: "login_info",
            placeHolder: "请输入查询信息",
            label: '查询信息'
        },
//                            {
//                            xtype: 'textfield',
//                            id: "login_phonenum",
//                            placeHolder: "请输入手机号",
//                            label: '手机号'
//                        },
//                        {
//                            xtype: 'textfield',
//                            border: 1,
//                            id: "login_appleid",
//                            placeHolder: "请输入AppleID",
//                            label: 'AppleID'
//                        }
]
        },
        { xtype: "spacer", height: "4px" }, {
            xtype: 'button',
            itemId: 'btnQuery',
            text: '查询'
        },
                    {
                        xtype: 'toolbar',
                        docked: 'bottom',
                        items: [{
                            xtype: 'spacer'
                        }
                        ]
}]
    }
});

运行结果......就是第一个图

原文地址:https://www.cnblogs.com/gkjbest/p/3471387.html