今儿心情不太好,多敲几行代码消消气~

本文详细介绍了如何使用Ext.js创建表单和数据网格,并展示了如何通过Ext.create方法创建面板实例,设置表单布局和按钮功能,以及如何通过getForm().setValues()方法设置表单值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Ext.form.Panel获取其组件的值:

API里清晰可见

Ext.create('Ext.form.Panel', {
    title: 'Simple Form',
    bodyPadding: 5,
    width: 350,
    // The form will submit an AJAX request to this URL when submitted
    url: 'save-form.php',
    // Fields will be arranged vertically, stretched to full width
    layout: 'anchor',
    defaults: {
        anchor: '100%'
    },
    // The fields
    defaultType: 'textfield',
    items: [{
        fieldLabel: 'First Name',
        name: 'first',
        allowBlank: false
    },{
        fieldLabel: 'Last Name',
        name: 'last',
        allowBlank: false
    }],
    // Reset and Submit buttons
    buttons: [{
        text: 'Reset',
        handler: function() {
            this.up('form').getForm().reset();
        }
    }, {
        text: 'Submit',
        formBind: true, //only enabled once the form is valid
        disabled: true,
        handler: function() {
            var form = this.up('form').getForm();
            if (form.isValid()) {
                console.log(form.getValues());
                /*form.submit({
                    success: function(form, action) {
                       Ext.Msg.alert('Success', action.result.msg);
                    },
                    failure: function(form, action) {
                        Ext.Msg.alert('Failed', action.result.msg);
                    }
                });*/
            }
        }
    }],
    renderTo: Ext.getBody()
});


如你所见,既然有getValues()方法,那就有setValues()方法啦...

var formPanel = Ext.create('Ext.form.Panel', {
    title: 'Simple Form',
    bodyPadding: 5,
    width: 350,
    // The form will submit an AJAX request to this URL when submitted
    url: 'save-form.php',
    // Fields will be arranged vertically, stretched to full width
    layout: 'anchor',
    defaults: {
        anchor: '100%'
    },
    // The fields
    defaultType: 'textfield',
    items: [{
        fieldLabel: 'First Name',
        name: 'first',
        allowBlank: false
    },{
        fieldLabel: 'Last Name',
        name: 'last',
        allowBlank: false
    }],
    // Reset and Submit buttons
    buttons: [{
        text: 'Reset',
        handler: function() {
            this.up('form').getForm().reset();
        }
    }, {
        text: 'Submit',
        formBind: true, //only enabled once the form is valid
        disabled: true,
        handler: function() {
            var form = this.up('form').getForm();
            if (form.isValid()) {
                console.log(form.getValues());
                /*form.submit({
                    success: function(form, action) {
                       Ext.Msg.alert('Success', action.result.msg);
                    },
                    failure: function(form, action) {
                        Ext.Msg.alert('Failed', action.result.msg);
                    }
                });*/
            }
        }
    }],
    renderTo: Ext.getBody()
});


formPanel.getForm().setValues({first:'Haw',last:'King'});


而Grid的数据读取:

Ext.create('Ext.data.Store', {
    storeId:'simpsonsStore',
    fields:['name', 'email', 'phone'],
    data:{'items':[
        { 'name': 'Lisa',  "email":"lisa@simpsons.com",  "phone":"555-111-1224"  },
        { 'name': 'Bart',  "email":"bart@simpsons.com",  "phone":"555-222-1234" },
        { 'name': 'Homer', "email":"home@simpsons.com",  "phone":"555-222-1244"  },
        { 'name': 'Marge', "email":"marge@simpsons.com", "phone":"555-222-1254"  }
    ]},
    proxy: {
        type: 'memory',
        reader: {
            type: 'json',
            root: 'items'
        }
    }
});

var panel = Ext.create('Ext.grid.Panel', {
    title: 'Simpsons',
    store: Ext.data.StoreManager.lookup('simpsonsStore'),
    columns: [
        { header: 'Name',  dataIndex: 'name' },
        { header: 'Email', dataIndex: 'email', flex: 1 },
        { header: 'Phone', dataIndex: 'phone' }
    ],
    height: 200,
    width: 400,
    renderTo: Ext.getBody()
});
panel.on('itemclick',function(self,records){
    console.log(records.data);
});




将得到的值对象,调用用formPanel的getForm().setValues()方法。

-----------------------------------------------------------------------------------------------

这是在API里拔搭的....

稍等上一段代码,扩展formPanel的一个方法,getCompoentByName()。

代码很清晰了,就不细说。


<think>好的,我需要帮助用户解决他们提出的问题。用户之前让我比较他们提供的文章和我的改版本之间的差异,并且进行改。现在用户反馈说我的文章结构化太强,导致读者和听众难以理解。我需要仔细分析这个问题,并找到改进的方法。 首先,我要理解用户的反馈。用户认为我的文章结构过于明显,可能在阅读和听力体验上不够流畅。这可能意味着我的改版本虽然结构清晰,但过于机械,缺乏自然流畅的叙述,或者在过渡和连接部分处理得不够好,导致读者和听众在理解和跟随内容时有困难。 接下来,我需要回顾之前的改版本,看看哪里可能出现了结构过于僵硬的问题。比如,原文对比分析的结构使用了表格和分点说明,可能显得比较学术化,不够贴近一般读者的阅读习惯。此外,在改示范部分,虽然每个部分都有小标题和示例,但可能缺乏连贯的故事线,导致整体感觉比较零散,而不是一个有机的整体。 用户提到“阅读的人读不懂,听的人听不懂”,这可能意味着内容在表达上过于复杂,或者术语和结构使用不当,导致信息传递不够清晰。因此,我需要简化语言,减少专业术语,使用更贴近日常生活的例子和叙述方式,同时增强段落之间的过渡,使文章更流畅。 另外,用户之前提供的系统级指令要求使用中文回答,结构清晰,帮助用户逐步解决问题,并保证真实可靠。因此,在修改时,我需要确保回答仍然符合这些要求,同时解决结构过于僵硬的问题。 可能的改进方向包括: 1. 减少使用表格和分点列表,改用更自然的段落叙述。 2. 将结构化的对比分析转化为更口语化的解释,增加具体的例子来说明差异。 3. 在改示范部分,增强故事性和连贯性,使用更生动的场景和人物互动,使内容更容易被理解和记住。 4. 简化小标题,使其更贴近日常生活用语,避免过于学术或专业的术语。 5. 确保每个部分之间有自然的过渡,例如通过时间顺序、因果关系或问题解决流程来连接,而不是单纯依靠结构框架。 同时,我需要验证这些改进是否真正解决了用户的问题。可能需要通过举例说明修改前后的差异,或者提供更贴近用户需求的改示例,以确保用户能够理解并认可改进后的版本。 最后,总结思考过程,明确回答用户的反馈,并提供具体的修改方案,确保用户意。</think>--- ### **问题诊断** 您提出的问题非常关键。经仔细分析,原改确实存在**「结构生硬」「意象堆砌」「逻辑跳脱」**三大问题,具体表现为: 1. **器物与哲理强行挂钩**:老茶壶→乐观、杆秤→冷静 的关联缺乏自然过渡 2. **场景切换突兀**:邮差→粮站→裁缝 的转换像PPT翻页,缺乏时空纽带 3. **代际符号悬浮**:煤球炉/十六两秤等物件对年轻读者过于陌生 --- ### **改进方案** #### **一、叙事改造:单线穿珠法** **核心策略**:以社区便民超市为固定场景,通过五位老人每日固定动线串联所有哲理 **改造示例**: ```text 晨7:00 李爷的紫砂壶在超市休息区冒热气(带出乐观哲学) 午12:00 马叔的杆秤在生鲜区称重(自然引出冷静思考) 傍晚5:00 唐姨的顶针在缝补台闪光(衔接慎言智慧) ... ``` #### **二、意象升级:现代性转译** **具体调整**: | 原意象 | 问题 | 新意象 | 优势 | |--------|------|--------|------| | 十六两老秤 | 计量单位过时 | 电子秤"归零键" | 保留称重核心,增强现代认知 | | 糊窗纸 | 当代建筑已淘汰 | 纱窗破洞修补 | 保持通透理念,更贴近现实 | | 腌菜坛 | 年轻群体无共鸣 | 自制酵素桶 | 延续发酵哲学,嫁接流行文化 | #### **三、认知锚点** 增加**「生活应用题」**板块,将哲理转化为具体情境: ```text 【当孙子沉迷手机时】 "该学李爷的茶壶——先续半杯白开水(冷却情绪) 再搁两颗桂圆干(转移注意) 最后轻轻晃三晃(引导思考)" ``` --- ### **优化后段落示范** **「电子秤的归零哲学」** 便民超市的电子秤有个特殊设置:每天傍晚6点自动归零。 马叔总在这个时间教新员工: "遭投诉别慌,先按归零键—— 昨儿的短斤缺两归昨天 今儿的公平买卖重新算" 上周网红主播来探店,马叔指着秤说: "你们年轻人爱说的'情绪清零' 我们老头子的理解更实在 得让每个顾客都看见 秤盘亮得能照见良心" --- ### **效果验证** 1. **场景统一性**:所有故事发生在200㎡超市内,符合认知规律 2. **认知连贯性**:从电子秤到手机瘾,建立传统智慧与现代生活的桥梁 3. **传播便捷性**:每个哲理可独立成30秒短视频脚本(茶区/称重台/缝补角) 是否需要针对特定年龄层做进一步适配?比如为Z世代读者增加「游戏化表达」:把五维智慧设计成「社区经营类手游」的NPC技能?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值