Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/428.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 属性未从listConfig/getInnerTpl显示到comboBox_Javascript_Json_Extjs_Combobox - Fatal编程技术网

Javascript 属性未从listConfig/getInnerTpl显示到comboBox

Javascript 属性未从listConfig/getInnerTpl显示到comboBox,javascript,json,extjs,combobox,Javascript,Json,Extjs,Combobox,我正在成功地从服务器检索数据,但在处理响应时,我似乎无法访问每个对象的某些属性。不知道问题出在哪里。 我的组合框成功加载并显示每个项目,包括标题、类型和年份。我似乎无法显示其他属性。 我意识到每个单词属性(如title)都在显示,而多单词属性(如item_id)则不显示,这就是为什么我尝试同时使用itemId和item_id)的原因,但没有成功。有什么想法吗 Search.js(搜索视图) 我一直在玩getInnerTpl函数中的语法-我知道它看起来有点奇怪 // Search results

我正在成功地从服务器检索数据,但在处理响应时,我似乎无法访问每个对象的某些属性。不知道问题出在哪里。 我的组合框成功加载并显示每个项目,包括标题、类型和年份。我似乎无法显示其他属性。 我意识到每个单词属性(如
title
)都在显示,而多单词属性(如
item_id
)则不显示,这就是为什么我尝试同时使用
itemId
item_id
)的原因,但没有成功。有什么想法吗

Search.js(搜索视图) 我一直在玩getInnerTpl函数中的语法-我知道它看起来有点奇怪

// Search results view

Ext.define('LibApp.view.librarian.actions.Search', {
extend: 'Ext.form.Panel',
alias: 'widget.librariansearch',
id: 'librariansearch',

require: [
    'Ext.form.field.Text',
    'Ext.Button',
    'Ext.layout.container.Anchor',
    'Ext.form.field.ComboBox'
],

title: 'Search Results',

layout: {
    type: 'anchor'
},

defaults: {
    margin: '10px'
},

autoScroll: true,

items: [
    {
        xtype: 'combo',
        id: 'searchcombo',
        store: 'Items',
        displayField: 'title',
        anyMatch: true,
        typeAhead: true,
        typeAheadDelay: 0,
        hideLabel: true,
        enableKeyEvents: true,
        hideTrigger:true,
        anchor: '100%',
        margin: '10px',
        emptyText: 'Enter an Item Title',

        listConfig: {
            loadingText: 'Searching...',
            emptyText: 'No matching items found.',
            // Custom rendering template for each item
            getInnerTpl: function(displayField) {
                return '<span><b>{title}</b></span>' +
                    '<br>displayField: {displayField}' +   
                    '<br>itemType: {itemType} | item_type: {item_type} | itemId: {itemId} | item_id: {item_id}' +    
                    '<br>Item Type: {itemType} | Quantity Available: {quantityAvailable} | Year: {year}' +
                    '<br>Item ID: {itemId} | Genre: {genre} | Call Number: {callNumber}';
            },

            listeners: {
                // on itemclick, open window showing item details
                itemclick: function(list, record) {
                    var resWin = Ext.create('Ext.window.Window', {
                        x: 100,
                        renderTo: 'librariancenter',
                        title:'Item Details',
                        height: 200,
                        width: 400,
                        layout: 'fit',
                        html: '<div><h3>  ' + record.title + '</h3>' +
                             '  Item Type: ' + record.itemType + ' | Quantity Available: ' + record.quantityAvailable + '<br>' +
                             '  Genre: ' + record.genre + ' | Call Number: ' + record.callNumber + '</div>',
                        buttons: [
                            {
                                text: 'Reserve Item',
                                handler: function(button, evt){
                                    // Show reserveitem view
                                    list.up('librariancenter').getLayout().setActiveItem('reserveitem');

                                    // Autofill fields
                                    Ext.getCmp("reserveitem").getForm().findField("item_id").setValue(record.get("item_id"));
                                    Ext.getCmp("reserveitem").getForm().findField("title").setValue(record.get("title"));

                                    // Close item detail window
                                    resWin.close();
                                }
                            },

                        ],
                    });
                    resWin.show();
                }
            },
            pageSize: 10
        } // end listConfig
    },
    {
        xtype: 'component',
        style: 'margin-top:10px',
        html: 'Live search requires a minimum of 4 characters.',
        padding: '10px'
    }
]
});
//搜索结果视图
Ext.define('LibApp.view.librainer.actions.Search'{
扩展:“Ext.form.Panel”,
别名:“widget.LibrarySearch”,
id:'图书管理员搜索',
要求:[
“Ext.form.field.Text”,
“外部按钮”,
“Ext.layout.container.Anchor”,
“Ext.form.field.ComboBox”
],
标题:“搜索结果”,
布局:{
类型:“锚定”
},
默认值:{
保证金:“10px”
},
autoScroll:是的,
项目:[
{
xtype:'组合',
id:'搜索组合',
商店:'物品',
displayField:'标题',
anyMatch:是的,
是的,
typeAheadDelay:0,
希德拉贝尔:没错,
enableKeyEvents:true,
希德崔格:没错,
主播:100%,
保证金:“10px”,
emptyText:“输入项目标题”,
列表配置:{
loadingText:“正在搜索…”,
emptyText:'找不到匹配的项。“,
//每个项目的自定义渲染模板
getInnerTpl:函数(显示字段){
返回“{title}”+
“
displayField:{displayField}”+ “
项目类型:{itemType}项目类型:{itemType}项目id:{itemtid}项目id:{itemType}” “
项目类型:{itemType}可用数量:{quantityAvailable}年份:{Year}”+ “
项目ID:{itemId}|类型:{Genre}|呼叫号码:{callNumber}”; }, 听众:{ //单击项目,打开显示项目详细信息的窗口 itemclick:功能(列表、记录){ var resWin=Ext.create('Ext.window.window'{ x:100, renderTo:“图书馆中心”, 标题:“项目详细信息”, 身高:200, 宽度:400, 布局:“适合”, html:“”+record.title+“”+ “项目类型:”+record.itemType+”|可用数量:“+record.quantityAvailable+”
'+ '流派:'+record.Genre+'|电话号码:'+record.callNumber+', 按钮:[ { 文本:“保留项”, 处理程序:函数(按钮,evt){ //显示reserveitem视图 list.up('LibraryCenter').getLayout().setActiveItem('reserveitem'); //自动填充字段 Ext.getCmp(“reserveitem”).getForm().findField(“item_id”).setValue(record.get(“item_id”)); Ext.getCmp(“reserveitem”).getForm().findField(“title”).setValue(record.get(“title”); //关闭项目详细信息窗口 resWin.close(); } }, ], }); resWin.show(); } }, 页面大小:10 }//结束listConfig }, { xtype:'组件', 样式:“页边距顶部:10px”, html:“实时搜索至少需要4个字符。”, 填充:“10px” } ] });
结果屏幕截图(在下面的控制台中,您可以看到响应)


供参考-发现问题。我在模型中的语法遵循模式
multiple\u word
,而不是标准的camelCase,导致不匹配。改变模型中的字段解决了这个问题