2017-10-09 113 views
0

我目前正在将Extjs 4.2迁移到Extjs 6.2,我只是试图保存一条记录。我的代码在ExtJs 4.2中工作得很好,但在尝试创建时,它在ExtJs 6.2中失败。问题是在将Extjs 6.2传递给Model后,数据的值发生了变化。请看附图。如何在使用模型时防止ExtJS更改对象的值?

PICTURE 1:

看看数据的值之前击中模型(371线)

enter image description here

PICTURE 2:

值数据AFTER打到Mod EL(371线)

enter image description here

你是否注意到,数据更改的值。那么在ExtJs 4.2中不会发生这种情况,我希望它在ExtJs 6.2中的表现方式相同。

这里是我的代码:

folder.js

if (folderNameIsValid(s)) 
    { 
    // create the new folder 
     var data = { 
     typeId : me.typeId, 
     name : s, 
     loaded : true 
    }; 

    if (me.clientId) data.clientId = me.clientId; 
    if (me.userId) data.userId = me.userId; 
    if (me.recordId) data.recordId = me.recordId; 
    if (me.empId) data.employeeId = me.empId; 
    if (pn !== rn) data.parentFolderId = pn.get('folderId'); 

    var node = Ext.create('App.model.FolderTreeNodeDisplay', data); 

    node.save({ 
     callback : function() 
     { 
     pn.appendChild(node); 

     pn.expand(); 

     sm.select(node); 
    } 
}); 
} 

下面是型号代码:

Ext.define('App.model.FolderTreeNodeDisplay', 
{ 
extend : 'Ext.data.Model', 
idProperty: 'folderId', 

fields : [ 
    {name: 'folderId', type: 'int', useNull: false}, 
    {name: 'typeId', type: 'int', useNull: true}, 
    {name: 'recordId', type: 'int', useNull: true}, 
    {name: 'employeeId', type: 'int', useNull: true}, 
    {name: 'userId', type: 'int', useNull: true}, 
    {name: 'clientId', type: 'int', useNull: true}, 
    {name: 'permanent', type: 'string', defaultValue: 'N'}, 
    {name: 'fixed', type: 'string', defaultValue: 'N'}, 
    {name: 'active', type: 'string', defaultValue: 'Y'}, 
    {name: 'name', type: 'string', convert: Ext.htmlDecode}, 
    {name: 'parentFolderId', type: 'int', useNull: true}, 

    // domain fields 
    {name: 'createdBy', type: 'string', persist: false}, 
    {name: 'creationDate', type: 'date', dateFormat: 'c', useNull: true, persist: false}, 
    {name: 'lastUpdatedBy', type: 'string', persist: false}, 
    {name: 'lastUpdatedDate', type: 'date', dateFormat: 'c', useNull: true, persist: false}, 

    // node fields 
    {name: 'iconCls', type: 'string', persist: false}, 
    {name: 'leaf', persist: false}, 
    {name: 'expanded', persist: false}, 
    {name: 'parentId', persist: false} 
], 

proxy: { 
    type: 'rest', 
    api: { 
     create : '/rs/rest/folder/create' 
    }, 
    reader: { 
     rootProperty: 'data' 
    } 
    } 
    }); 

我的问题是: 我需要做什么来更改/更新我的模型,所以v点击行371和后数据仍然相同不是拉你在图片2中看到的所有随机数据

关于什么我失踪或需要改变我的模型的任何想法?提前感谢你!

回答

0

您尚未指定代理的URL。框架中的默认值是使用模型名称。

+0

Trimboli,其实我解决了我的问题。您的意见帮助!谢谢 – HenryDev

+0

嗨埃文我想知道你是否可以请帮我在面板问题上的鼠标悬停我有?这里是问题的链接:https://stackoverflow.com/questions/47808220/how-to-change-image-on-panel-when-doing-mouseover-using-css-extjs – HenryDev