TypeError:无法在 ExtJs 7.5.0.55 中读取 null 的属性(读取“值”)

问题描述 投票:0回答:1

类型错误:无法读取 null 的属性(读取“值”)

也许从网格上的存储中删除记录后会发生此错误。组件存在,但 dom 树不存在。

Ext组件:'Ext.form.field.Text'。 所有者组件:'Ext.grid.CellEditor'。

这是堆栈跟踪。

getValue (ext-all-debug.js:42727)
getRawValue (ext-all-debug.js:192596)
getValue (ext-all-debug.js:192693)
checkChange (ext-all-debug.js:191739)
onBeforeNotify (ext-all-debug.js:193044)
fire (ext-all-debug.js:22906)
doFireEvent (ext-all-debug.js:23946)
prototype.doFireEvent (ext-all-debug.js:66512)
fireEventArgs (ext-all-debug.js:23800)
fireEvent (ext-all-debug.js:23757)
notify (ext-all-debug.js:110015)
onTick (ext-all-debug.js:110069)
(anonymous) (ext-all-debug.js:7365)
elevate (ext-all-debug.js:2574)
timerFn (ext-all-debug.js:7590)
setTimeout (async)
defer (ext-all-debug.js:7593)
scheduleTick (ext-all-debug.js:110096)
scheduleItem (ext-all-debug.js:110084)
schedule (ext-all-debug.js:112438)
invalidate (ext-all-debug.js:113166)
afterEdit (ext-all-debug.js:113285)
callJoined (ext-all-debug.js:97316)
set (ext-all-debug.js:95730)
onEditComplete (ext-all-debug.js:254211)
onEditComplete (ext-all-debug.js:221565)
completeEdit (ext-all-debug.js:162962)
callParent (ext-all-debug.js:13649)
completeEdit (ext-all-debug.js:221526)
onFocusLeave (ext-all-debug.js:221500)
onGlobalFocus (ext-all-debug.js:30599)
fire (ext-all-debug.js:22906)
doFireEvent (ext-all-debug.js:23946)
prototype.doFireEvent (ext-all-debug.js:66512)
fireEventArgs (ext-all-debug.js:23800)
fireEvent (ext-all-debug.js:23757)
processFocusIn (ext-all-debug.js:141175)
publishDelegatedDomEvent (ext-all-debug.js:141118)
doDelegatedEvent (ext-all-debug.js:37990)
onDelegatedEvent (ext-all-debug.js:37977)
focus (ext-all-debug.js:42034)
setActionableMode (ext-all-debug.js:230448)
setActionableMode (ext-all-debug.js:224447)
setPosition (ext-all-debug.js:225599)
onContainerMouseDown (ext-all-debug.js:225234)
fire (ext-all-debug.js:22906)
doFireEvent (ext-all-debug.js:23946)
doFireEvent (ext-all-debug.js:75015)
prototype.doFireEvent (ext-all-debug.js:66512)
fireEventArgs (ext-all-debug.js:23800)
fireEvent (ext-all-debug.js:23757)
processUIEvent (ext-all-debug.js:206408)
handleEvent (ext-all-debug.js:206346)
fire (ext-all-debug.js:22906)
fire (ext-all-debug.js:37964)
publish (ext-all-debug.js:37924)
publishGestures (ext-all-debug.js:38655)
onTouchStart (ext-all-debug.js:38783)
publishDelegatedDomEvent (ext-all-debug.js:38740)
doDelegatedEvent (ext-all-debug.js:37990)
onDelegatedEvent (ext-all-debug.js:37977)

在 ext-all-debug.js 方法上捕获错误。

/**
         * Returns the value of the `value` attribute.
         * @param {Boolean} asNumber `true` to parse the value as a number.
         * @return {String/Number}
         */
        getValue: function(asNumber) {
            var value = this.dom.value;
            return asNumber ? parseInt(value, 10) : value;
        }

我试图隐藏 Ext.grid.CellEditor。

javascript extjs extjs7
1个回答
0
投票

调试这些方法,你会发现一些东西。看起来组件没有存储或记录。

  • onEditComplete (ext-all-debug.js:254211)
  • onEditComplete (ext-all-debug.js:221565)
  • 完成编辑

也许在从存储上删除记录后会发生此错误 网格。组件存在,但 dom 树不存在。

从存储中删除记录后,它应该在存储刷新时自动更新网格。如果没有发生这种情况,您可以尝试商店

autoSync: true

https://docs.sencha.com/extjs/7.7.0/classic/Ext.data.Store.html#cfg-autoSync

© www.soinside.com 2019 - 2024. All rights reserved.