Contact me: hankecnc@gmail.com

FileField:nullify 的 setTimeout 在 handleChange 之前触发 #293

推推 grbl 3年前 (2023-02-04) 371次浏览
关闭
tbfleming 打开了这个问题 2017 年 4 月 27 日 · 33条评论
关闭

FileField:nullify 的 setTimeout 在 handleChange 之前触发#293

tbfleming 打开了这个问题 2017 年 4 月 27 日 · 33条评论

评论

FileField:nullify 的 setTimeout 在 handleChange 之前触发 #293
成员

这是发生在@FearNaBoinne的皮波:

  • FileField.handleClick
  • 焦点事件
  • 设置超时处理程序
  • 文件字段.handleChange

我们需要 setTimeout 中的代码吗?它创造了竞争条件。

FileField:nullify 的 setTimeout 在 handleChange 之前触发 #293
合作者
jorgerobles 评论了 2017 年 4 月 27 日  

没有其他方法可以处理取消文件选择器对话框。(据我所知)
如果不使用此模式,则反应会多次失火导致加载错误的点击事件,并丢失第一次点击事件,因为反应会重用事件。:|

FileField:nullify 的 setTimeout 在 handleChange 之前触发 #293

有没有办法设置一个标志来指示何时可以安全删除处理程序?然后你可以重置计时器,只要它还不安全,并在安全时删除处理程序……

FileField:nullify 的 setTimeout 在 handleChange 之前触发 #293
合作者

当文件已更改或加载时它是安全的,但因为没有人告诉文件尚未加载(通过取消)这是我发现的唯一方法……
之前的方法是创建 dom 输入临时,但容易出错也是(错过了 25% 的事件)

FileField:nullify 的 setTimeout 在 handleChange 之前触发 #293

但是在我的 Pipo 上,它显然是在我单击添加文档按钮和我在选择文件后单击确定按钮之间完成的,所以那里有些事情不太对劲!…:o

FileField:nullify 的 setTimeout 在 handleChange 之前触发 #293

别误会我的意思,我不是不耐烦,也不想催促你们,只是暂时想出最好的前进方向(实际上可能是倒退),因为我需要让机器工作对于我的妻子(她有几个小项目待定):

任何关于修复此问题的预计到达时间?

FileField:nullify 的 setTimeout 在 handleChange 之前触发 #293
合作者

嗨..我现在就在上面:)
FileField:nullify 的 setTimeout 在 handleChange 之前触发 #293

但没有 ETA 抱歉。对于 Pipo 上的导航器来说是一个非常具体的问题。这是最常用的功能(加载文件),目前只有您的问题出现。我需要一个 Pipo。

我想弄清楚一些事情,但没有承诺。仅供参考:https ://www.google.es/search?q=filefield+catch+cance&oq=filefield+catch+cance&aqs=chrome..69i57.6863j0j7&sourceid=chrome&ie=UTF-8#safe=off&q=file+field+catch +取消

FileField:nullify 的 setTimeout 在 handleChange 之前触发 #293

我可以让您远程访问我的进行测试,只要记住它已连接(硬连线并拧紧)到我的 FABkit 激光器!请不要用它来入侵我的网络!…;)

FileField:nullify 的 setTimeout 在 handleChange 之前触发 #293
恐惧纳博因 评论了 2017 年 4 月 29 日  

(奇怪的是,没有触发取消事件……这是对设计的严重疏忽!是的,当你提到它时,我自己做了研究,因为,好吧,好奇心等等!)

FileField:nullify 的 setTimeout 在 handleChange 之前触发 #293
合作者

(奇怪的是没有触发取消事件……这是对设计的严重疏忽!)

是的..给我周末。也许可以找到一些东西。

FileField:nullify 的 setTimeout 在 handleChange 之前触发 #293

谢谢,祝你好运,但这意味着我现在必须恢复到旧版本,这样她至少可以使用这台机器!
我已将设置保存在本地存储和导出文件中,因此一旦文件问题得到解决,就可以轻松取回这些设置!
(这个周末我也会做一些捐款,薪水来了!)

FileField:nullify 的 setTimeout 在 handleChange 之前触发 #293
合作者

谨防!最近的宏返工可能导致本地存储损坏。请从设置工具导出您的设置。只有您有备份,我们才能找到解决方案

FileField:nullify 的 setTimeout 在 handleChange 之前触发 #293
合作者

@openhardwarecoza ??

FileField:nullify 的 setTimeout 在 handleChange 之前触发 #293
恐惧纳博因 评论了 2017 年 4 月 29 日  

对以上两个:

  1. 注意“和 eport 文件”;)
  2. 确实是的!

糟糕:
404
这里没有 GitHub Pages 站点。
https://openhardwarecoza.github.io/donate )

FileField:nullify 的 setTimeout 在 handleChange 之前触发 #293
合作者

细心的人身价倍增。

FileField:nullify 的 setTimeout 在 handleChange 之前触发 #293
 评论了 2017 年 4 月 29 日 通过电子邮件
FileField:nullify 的 setTimeout 在 handleChange 之前触发 #293

先生@openhardwarecoza,如果你至少可以让你的 github 中的捐赠链接正常工作,我可能买不起 Pipo 来捐赠给公益事业,但我可以稍微增加一点啤酒和披萨基金!

FileField:nullify 的 setTimeout 在 handleChange 之前触发 #293
 评论了 2017 年 4 月 29 日 通过电子邮件
FileField:nullify 的 setTimeout 在 handleChange 之前触发 #293

喔好吧!那我直接干嘛!

FileField:nullify 的 setTimeout 在 handleChange 之前触发 #293
合作者

@FearNaBoinne,@openhardwarecoza它现在应该工作了。不再有超时或去抖动。

FileField:nullify 的 setTimeout 在 handleChange 之前触发 #293
合作者

将在两个小时左右编译新版本。

FileField:nullify 的 setTimeout 在 handleChange 之前触发 #293

你,先生,摇滚! ? ? ?

FileField:nullify 的 setTimeout 在 handleChange 之前触发 #293
合作者

https://github.com/LaserWeb/LaserWeb4/releases/tag/v4.0.729

FileField:nullify 的 setTimeout 在 handleChange 之前触发 #293

绝对可以考虑将 Pipo 交给愿意帮助保持 laserweb 在其上平稳运行的开发人员。
@jorgerobles我们可以诱惑你吗?

FileField:nullify 的 setTimeout 在 handleChange 之前触发 #293
合作者

谢谢,但我现在忙得不可开交,抱歉:|

FileField:nullify 的 setTimeout 在 handleChange 之前触发 #293
 评论了 2017 年 4 月 30 日 通过电子邮件
FileField:nullify 的 setTimeout 在 handleChange 之前触发 #293

@jorgerobles请求,我在 Pipo 上的配置快照

laserweb-snapshot-170430.zip

FileField:nullify 的 setTimeout 在 handleChange 之前触发 #293
合作者
jorgerobles 评论了 2017 年 4 月 30 日  

谢谢@FearNaBoinne
作为快速解决方法,请重建您的宏。也就是说,从宏面板中删除它们。关闭并重新启动应用程序。在应用程序上重建宏。
这是您要复制/粘贴的配置部分。
将尽快检查宏格式迁移

"macros": {
      "f1": {
        "label": "Autofocus",
        "gcode": "G91                       ;Relative positioning\nG0 X11 Y-13.5     ;Move 11mm right and 13.5 mm forward\nG28.2Z                 ;Home Z\nG0 X-11 Y13.5     ;Move 11mm left and 13.5 mm backward\nG90                       ;Absolute positioning\n"
      },
      "ctrl+f1": {
        "label": "Autofocus -5mm (Yellow)",
        "gcode": "G91                       ;Relative positioning\nG0 X11 Y-13.5     ;Move 11mm right and 13.5 mm forward\nG28.2Z                 ;Home Z\nG0 X-11 Y13.5 Z-5 ;Move 11mm left,13.5 mm backward and 5mm down\nG90                       ;Absolute positioning\n"
      },
      "f2": {"label": "Home XY", "gcode": "G28.2XY\n"},
      "f4": {"label": "Motors OFF", "gcode": "M18\n"},
      "g5": {"label": "LASER OFF", "gcode": "M5"},
      "f12": {
        "label": "RESET Smoothie",
        "gcode": "M80  ; SmoothieRST  has been wired to 0.25, which will be pulled down by the M80 command\n"
      }
    }

FileField:nullify 的 setTimeout 在 handleChange 之前触发 #293

我已经将它们存储在一个文本文件中,但无论如何还是要感谢!;)

我会测试并让你知道!

FileField:nullify 的 setTimeout 在 handleChange 之前触发 #293

这确实解决了按键/打字问题!
再次感谢!

(但我仍然无法将文档添加到操作中…… ?)

FileField:nullify 的 setTimeout 在 handleChange 之前触发 #293
合作者

您是通过拖动还是按钮添加?
另外,请转到设置、工具并启用开发工具。如果控制台上有任何错误,请报告。谢谢!

FileField:nullify 的 setTimeout 在 handleChange 之前触发 #293
合作者

@FearNaBoinne发现材料数据库不兼容。遗憾的是,我们无法承受向后兼容性。您的版本是几个月前材料数据库重构之前的版本。
修复步骤。
快速解决方法:

  1. 转到设置,打开开发工具 -> 应用程序,左窗格本地存储。删除
    FileField:nullify 的 setTimeout 在 handleChange 之前触发 #293
  2. 重新启动应用程序。
  3. 编辑您的配置文件,剥离材料数据库部分(如果是的话,还有宏)。加载配置。
FileField:nullify 的 setTimeout 在 handleChange 之前触发 #293
合作者

@tbfleming必须找到一种方法来捕获实例化中的组件异常。在某些情况下实现向后兼容性并不容易。现在,我将在关于窗格中添加一个应用程序重置按钮。

FileField:nullify 的 setTimeout 在 handleChange 之前触发 #293
合作者

@openhardwarecoza,@cprezzi,@tbfleming,移动了重新加载窗口,开发工具并添加了重置为出厂设置,现在可用于“关于”选项卡。更容易找到。