Hi @flaschenpost-wha,
I checked your module JSON, and you’re right—the cascader crashes. But this isn’t a Retool bug or an issue on Retool’s side. The crash happens because the cascader data isn’t structured correctly. The JSON itself is invalid for the component.
I tested by recreating the same module with the same component, and it also crashed. After reviewing, I realized the problem is with the data setup:
Note : I also confirmed this same behavior happens in Retool Cloud, so it’s not environment-specific.
- Item 1 has parent = 2
- Item 2 has parent = 1
That loop (1 → 2 → 1) causes Retool to render endlessly and crash.
A few things to note:
- Circular references → any loop will break the Cascader.
- Number vs. string mismatch → Cascader works best when
value and parent are strings.
Here’s a working example with a proper hierarchy:
[
{ label: "Option 1", value: "1", parent: null },
{ label: "Option 1.1", value: "1.1", parent: "1" },
{ label: "Option 1.2", value: "1.2", parent: "1" },
{ label: "Option 2", value: "2", parent: null },
{ label: "Option 2.1", value: "2.1", parent: "2" },
{ label: "Option 2.2", value: "2.2", parent: "2" }
]
This avoids loops and renders cleanly:
Item 1
└── Item 1.1 / Item 1.2
Item 2
└── Item 2.1 / Item 2.2
By avoiding cycles and keeping parent/child values consistent, your cascader should work without any crashes.
Here is json with an example :
cascader_crash(1).json (15.7 KB)