# Dynamic props in menu tree

**URL:** <https://forum.inductiveautomation.com/t/dynamic-props-in-menu-tree/99661>\
**Category:** Ignition\
**Tags:** python, ignition81, perspective, scripting\
**Created:** [December 10, 2024, 8:52pm UTC](https://forum.inductiveautomation.com/t/dynamic-props-in-menu-tree/99661 "2024-12-10T20:52:17Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![Yousef\_Ali](https://avatars.discourse-cdn.com/v4/letter/y/87869e/32.png) [@Yousef\_Ali](https://forum.inductiveautomation.com/u/Yousef_Ali)\
**Post date:** [December 10, 2024, 8:52pm UTC](https://forum.inductiveautomation.com/t/dynamic-props-in-menu-tree/99661/1 "2024-12-10T20:52:18Z")

</div>

on `onClick ` I would like to generate dynamic props. Base on `event.path` list.

For example `event.path` is [1,0,4], I would like this generate below  
`self.props.items[1].items[0].items[4].style.classes ='myNewCalss'`

I generated it but as `string` which not working.

---

<div class="post-metadata">

**Author:** ![David\_Stone](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/david_stone/32/79749_2.png) [@David\_Stone](https://forum.inductiveautomation.com/u/David_Stone)\
**Post date:** [December 10, 2024, 8:57pm UTC](https://forum.inductiveautomation.com/t/dynamic-props-in-menu-tree/99661/2 "2024-12-10T20:57:45Z")

</div>

`==` is a comparison operator, not an assignment operator.  
Can you share your entire script so we can help?

---

<div class="post-metadata">

**Author:** ![Yousef\_Ali](https://avatars.discourse-cdn.com/v4/letter/y/87869e/32.png) [@Yousef\_Ali](https://forum.inductiveautomation.com/u/Yousef_Ali)\
**Post date:** [December 10, 2024, 9:09pm UTC](https://forum.inductiveautomation.com/t/dynamic-props-in-menu-tree/99661/3 "2024-12-10T21:09:48Z")

</div>

This code i used `onItemClick`on menutree component .. I would like to generate the path to style dynamically based on the length of path list and index of the list

```python
def runAction(self, event):
    path_string = 'self.props'
    for index in event.path:
        path_string += '.items[{}]'.format(index)
        path_string += '.style.classes'
        #event.path =[1,0,1]
        #path_string self.props.items[1].items[0].items[1].style.classes = 'mynewClass'

```

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [December 10, 2024, 9:15pm UTC](https://forum.inductiveautomation.com/t/dynamic-props-in-menu-tree/99661/4 "2024-12-10T21:15:25Z")

</div>

Try this:

```python
def runAction(self, event):
	if event.path:
		target = self.props
		for index in event.path:
			target = target.items[index]
		target.style.classes = 'mynewClass'

```

---

<div class="post-metadata">

**Author:** ![Yousef\_Ali](https://avatars.discourse-cdn.com/v4/letter/y/87869e/32.png) [@Yousef\_Ali](https://forum.inductiveautomation.com/u/Yousef_Ali)\
**Post date:** [December 10, 2024, 9:18pm UTC](https://forum.inductiveautomation.com/t/dynamic-props-in-menu-tree/99661/5 "2024-12-10T21:18:59Z")

</div>

Thank a lot Phil .. Perfect 😀

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [December 10, 2024, 10:16pm UTC](https://forum.inductiveautomation.com/t/dynamic-props-in-menu-tree/99661/6 "2024-12-10T22:16:19Z")

</div>

Paul?

---

<div class="post-metadata">

**Author:** ![Yousef\_Ali](https://avatars.discourse-cdn.com/v4/letter/y/87869e/32.png) [@Yousef\_Ali](https://forum.inductiveautomation.com/u/Yousef_Ali)\
**Post date:** [December 11, 2024, 10:15am UTC](https://forum.inductiveautomation.com/t/dynamic-props-in-menu-tree/99661/7 "2024-12-11T10:15:44Z")

</div>

Typing wrong, Phil ..Corrected
