我有一个小fiddle,它演示了这个错误。它表明,如果我们将默认值设置为滑块字段,则会触发更改事件(与其他标准字段不同)。代码很简单:
Ext.create('Ext.slider.Single', {
width: 200,
value: 100,
increment: 10,
minValue: 0,
maxValue: 100,
renderTo: "slider",
listeners: {
change: function () {
console.log("Slider changed!");
}
}
});
Ext.create('Ext.form.field.Text', {
width: 200,
value: "Hello world",
renderTo: "text",
listeners: {
change: function () {
console.log("Textfield changed!");
}
}
});
如果运行此代码,即使文本字段未触发,您也会看到该滑块字段触发更改事件。在ExtJS 6.2.X中BTW没有这样的问题。现在它导致我的应用程序完全崩溃。因此,ExtJS 6.2和ExtJS 6.5之间没有兼容性。不知道,如果我能自己解决它。
答案 0 :(得分:2)
问题应该在ExtJS 6.5.1中解决
请检查link
基本上他们在initValue
函数中设置了标记,在updateValues
中他们跳过change
事件触发初始化。
您可以从ExtJS 6.5.1参考中覆盖这些功能。