最近在学extjs,发现资料真是少,遇到问题百度半天都出不来,最后还是自己琢磨出来的..
store = Ext.create('Ext.data.Store', {
fields: ['id', 'account', 'name','departmentId','department','phone','createTime','flag'],//department.name是无效的<span style="font-family: Arial, Helvetica, sans-serif;"> </span>
pageSize: 20,
remoteSort: false,
remoteFilter: true,
proxy: {
type: 'ajax',
url: 'user/query',
reader: {
type: 'json',
root: 'data',
totalProperty: 'totalCount'
}
},<pre name="code" class="javascript"><span style="font-family: Arial, Helvetica, sans-serif;"> sorters: [{</span>
property: 'id',direction: 'desc'}],autoLoad: true});
上面的代码中,fields里的department是一个对象,如果
{text: '部门名称', dataIndex: 'department', maxWidth: 120},
获得的是[Object object]
解决方式:
{text: '部门名称', maxWidth: 120,
renderer:function(value, cellMeta, record){
<span style="white-space:pre"> </span>//alert(record.data.department);
<span style="white-space:pre"> </span>return record.data.department.name;
<span style="white-space:pre"> </span>}
},
部分代码:
renderTo: Ext.getBody(),
store: store,
frame: true,
autoWidth: true,
autoScroll: true,
<span style="white-space:pre"> </span>columns: [
<span style="white-space:pre"> </span>{text: '部门名称', maxWidth: 120,
<span style="white-space:pre"> </span>renderer:function(value, cellMeta, record){
//alert(record.data.department);//是[Object object]
return record.data.department.name;
}
},],
{text: '部门名称', dataIndex: 'department.name', maxWidth: 120},//错误方法