【发布时间】:2013-05-25 19:26:24
【问题描述】:
这是对我之前的问题 (How to set an extjs grid record phantom to true) 的改写,由于某种原因没有引起任何关注。
如何更改在“beforedrop”函数触发的函数中删除的数据?这是 ExtJS 中的错误吗?我已经用尽了所有解决方案。
例子:
listeners: {
beforedrop: function(node, data) {
console.log('before:'+data.records[0].phantom);
data.records[0].phantom = true;
console.log('set:'+data.records[0].phantom);
},
drop: function(node, data) {
console.log('confirm:'+data.records[0].phantom);
}
打印:
before:false
set:true
confirm:false
代替
before:false
set:true
confirm:true
【问题讨论】:
-
可以在 jsfiddle.net 或 jsbin.com 上使用设置一个小演示 - 人们可以编辑代码并使用它的地方。
-
Extjs 问题有时很难引起人们的注意,至少根据我的观察,因为选择使用它的主要是关心编程的服务器端的公司。通常不听 JavaScript/Extjs 问题流的人
-
是的,我想你是对的。 JSFiddle 可能无法很好地复制我的问题,因为我从服务器获取数据,伪造它可能会导致不同的结果。
-
核心问题是这样的:数据被正确拖放,但目标存储没有识别新数据,因为
phantom标志设置为false。我该如何改变呢? -
我不确定您是否应该使用
phantom或您应该做什么。也许您可以尝试改用.setDirty(),请参阅文档:docs.sencha.com/extjs/4.0.7/#!/api/…
标签: javascript extjs extjs4 extjs4.1