What the screen is telling you is specific: a composite label that should read USB 1A is missing one contributing value, or an embedded view still shows an older definition after a parameter or component changes. Trace the value from the label binding to the base-view parameters, then through the embedded-view input mapping. Two separate faults can produce a similar display: a binding that does not react to every dependency, and stale parameter configuration left behind after an edit.
Which failure does the screen show?
| Screen symptom | Reading to take | Meaning | Next check |
|---|---|---|---|
| One part of a composite label is missing or stale | Change each of the three contributing parameters separately | If only one change refreshes the label, the binding has an incomplete dependency path | Inspect the label binding |
| An embedded instance ignores a renamed or added parameter | Compare the base-view parameter names with the embedded component inputs | A name mismatch prevents the value from reaching the view | Inspect the input mapping |
| The names match, but the embedded instance remains stale | Copy the view JSON and inspect propConfig
|
An obsolete configuration key may still reference the old parameter | Repair the JSON or upgrade |
| A newly added label or other object does not appear | Open the base view directly, then compare it with every embedded instance | The saved view definition and rendered embedded instance are not synchronized | Save, reopen, and test the corrected build |
Do not start by deleting and recreating the view. That can remove the stale configuration, but it also hides whether the defect is in the binding, the embedded input mapping, or the stored property configuration.
Does the label react to every parameter?
A reactive binding updates when one of its registered dependencies changes. A common failure appears when a label binds to one parameter while a script transform reads several others. The bound parameter is the trigger; values read indirectly by the transform may not register as independent triggers. The label can therefore contain correct expression logic yet remain stale until the primary parameter changes.
- Open the label property that produces the displayed text.
- List every view parameter used to create the label. The reported label uses three of four parameters, including
roomNo. - Change one contributing parameter at a time while watching the label.
- If every change immediately recalculates the text, continue to the embedded input check.
- If only the primary bound value triggers an update, rebuild the binding so every contributing value participates in the reactive dependency.
Two configurations can work. A direct expression binding is simpler when it references every contributing parameter explicitly. An object parameter containing the text fields also works: bind the label to that object so a change to any field updates the object binding. Prefer the object when the fields travel together through embedded views because it reduces separate mappings and avoids hidden transform dependencies.
Do the embedded inputs match the base view?
Adding or renaming a base-view parameter does not by itself define the value passed by each embedded-view component. The embedded instance must expose a matching input name and supply the intended value. The tag may be right; the binding is wrong when the controller value reaches the project but the embedded input still uses an obsolete name.
| Setting | Location | Effect |
|---|---|---|
| View parameter name | Base view | Defines the property the view can consume |
| Embedded parameter name | Embedded-view component | Selects which base-view parameter receives the supplied value |
| Embedded parameter value | Embedded-view component | Provides the tag, expression, constant, or parent value |
propConfig key |
Serialized view JSON | Stores configuration associated with a property path such as params.roomNo
|
- Write down the current base-view parameter names exactly.
- Open each embedded instance and compare its input names character for character.
- Add mappings for new parameters and replace mappings that still use an old name.
- Change the source value and observe the embedded parameter before judging the label.
If the embedded parameter changes but the label does not, return to the label dependency test. If the embedded parameter never changes, continue into the serialized configuration.
Does propConfig retain the old name?
The identified defect occurred when adding or renaming parameters failed to set their configuration correctly. The visible parameter name could look correct while propConfig still contained an object named for the previous path, such as params.roomNo. Embedded values then targeted a view definition whose stored configuration did not agree with its current parameter list.
- Use
Shift+Right Clickon the view in the project browser. - Select
Copy JSON. - Paste the copied JSON into a plain-text editor.
- Find the
propConfigobject. - Look for a child object whose name contains the old parameter path.
- Compare that path with the parameter currently shown in the base view.
A matching current name moves the diagnosis back to the embedded mapping or label binding. An obsolete name identifies the stale configuration branch and calls for the JSON repair.
How do you repair the stale view configuration?
Preserve a copy of the exported JSON before editing. Change only the obsolete property-path key; broad edits can alter unrelated view properties.
- In the copied JSON, replace the old key inside
propConfigwith the current parameter path. - For example, change the obsolete path to the current name in the same form as
params.roomNo. - Select and copy the complete edited JSON document.
- Return to the designer and use
Shift+Right Clickon the same view. - Select
Paste JSONto replace the view with the corrected definition. - Save the project and reopen the embedded instance.
This repair avoids deleting and rebuilding the view. A corrected build was uploaded on 2/4, although no version string is identified. Read the installed product version and compare it with the official release history before deciding whether the JSON workaround is still required.
How do you verify the resolving branch?
Verification must exercise each dependency independently; seeing one correct initial value is not enough.
- Open the base view directly and confirm that its current parameter list contains no obsolete names.
- Open the embedded instance and confirm that every input name matches the base view.
- Change each of the three values used by the composite label, one at a time.
- Confirm that each change appears without changing another parameter to trigger a refresh.
- Rename or add a test parameter, update its embedded mapping, save, reopen the view, and inspect
propConfigif the instance remains stale. - For the reported display, supply the intended values and confirm that the final label reads
USB 1A.
FAQ
Why does an embedded view ignore a renamed parameter?
The embedded input may still use the old name, or propConfig may retain the old property path. Compare both locations with the current base-view parameter name.
Why does my composite label update only after another value changes?
The label may bind to one primary value while a transform reads the others indirectly. Reference every value in a direct expression or bind the label to an object containing all contributing fields.
Why does deleting and recreating the view fix it?
Recreation generates a fresh property configuration and removes obsolete keys. Editing the old key in propConfig through Copy JSON and Paste JSON applies the narrower repair.
How do I know the embedded-view fix worked?
Change every contributing parameter separately, save and reopen the view, then confirm each value updates the embedded label immediately. Finish by verifying that the reported composite label displays USB 1A.