在 Node-RED 事件处理程序中更新 TypedInput 的类型不会更新。
作者: stijn1989创建于 2023年2月14日更新于 2026年9月11日
标签bugeditor
当前的行为
我正在开发一个节点,可以从配置节点的传感器中选择传感器. 当用户编辑配置节点中的传感器并保存它时,它会回到节点设置面板. 用户可以选择传感器的元素,在返回后应当更新.
用户可以从节点-RED型输入UI元素中选择传感器. 在初始化时,它的作用。 当配置节点被更改时,会调用一个事件处理器,并为TypedInput设置了新类型.
aditepare: 函数 () {
表示这个;
Const reporter = RED.nodes.node(本.reporter) ; 互联网档案馆的存檔,存档日期2013-12-21.
$("#node-input- sensers"). typed Input({type:" sensers"),类型: [{{}
值: “ 传感器”,
多个: 真
选项: 获取传感器Type 选项(RED.nodes.node(此.reporter))
[ [
RED.events.on('nodes: change',函数(node){
如果(节点. type QQ're reporter" QQ that.reporter QQ节点.id) {
$ ("# node- input- seners"). 键入('types'), [{
值: “ 传感器”,
多个: 真
选项: 获取传感器Type 选项(RED.nodes.node (node.id))
· []);
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?
* ;
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?代码是正确的。 执行回话时我可不会出错
• 预期行为
类型输入应该更新, 但不会更新 。 当我在浏览器控制台上执行后续代码时,它就会起作用.
[JavaScript] $("#node-input- seners"). 输入('types', [{value:' sensers', 多重: true, options: [{value:'a', 标签:'a'],{value:'b', 标签:'b'},{value:'c', 标签:'c'}}];
当我读取了TypedInput的代码(见下文链接),我的猜测是,一个事件在"类型"函数中被放出,在事件处理器中不起作用. 调试时,我看到了一个例外 在那里"你"被扔。 不能再重复这个错误了
https://GitHub.com/node-red/node-red/blob/master/packages/node modules/%40node-red/editor-client/src/js/ui/common/typedInput.js#L956 (中文(简体) ).
但有工作来解决这个问题 设置Timeout。 但我似乎找不到一个固定。 Async召回也没用. 我猜这个虫子是"特质"
```2ZZ
RED.events.on('nodes: change',函数(node){
如果(节点. type QQ're reporter" QQ that.reporter QQ节点.id) {
设置超时( 函数 ()) {
$ ("# node- input- seners"). 键入('types'), [{
值: “ 传感器”,
多个: 真
选项: 获取传感器Type 选项(RED.nodes.node (node.id))
· []);
*,300);
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?
* ;如何复制行为 ! [更改不工作 edit 0] (https://user-images.githubusercontent.com/6877485/218859328-6d6e3dfc-04fd-4a3f-b21b-899aa5431785.gif) 页面存档备份,存于互联网档案馆. QQ 工作时段设置 [change work edit 0] (https://user-images.githubusercontent.com/6877485/218859671-49cf35de-f7ba-4400-adc9-7903cb510581.gif) (中文(简体) ).
示例流量
无回复( N)
环境
- 节点-RED版本:3.0.2
- Node.js版本:14.18.1和16.16(Docker)
- npm版本:9.2.0
- 平台/操作系统:窗口11和Docker
- 浏览器:Chrome/Firefox
内容来源: node-red/node-red