diff --git a/resource/interface/client/menu.lua b/resource/interface/client/menu.lua index 96023e8..1ab21bd 100644 --- a/resource/interface/client/menu.lua +++ b/resource/interface/client/menu.lua @@ -77,7 +77,7 @@ RegisterCommand('testMenu', function() lib.setMenuOptions('epic_menu', { {label = 'Nice 1'}, {label = 'Nice 2', icon = {'fab', 'bitcoin'}}, - {label = 'Nice 3', icon = 'biohazard', values={'option 1', 'option 2', 'option 3'}} + {label = 'Nice 3', icon = 'biohazard', values={'option 1', 'option 2', 'option 3'}, defaultIndex = 2} }) lib.showMenu('epic_menu') end, diff --git a/web/src/features/menu/list/index.tsx b/web/src/features/menu/list/index.tsx index b1a7c51..a4d44e3 100644 --- a/web/src/features/menu/list/index.tsx +++ b/web/src/features/menu/list/index.tsx @@ -14,6 +14,7 @@ export interface MenuItem { values?: string[]; description?: string; icon?: IconProp; + defaultIndex?: number; } interface MenuSettings { @@ -43,7 +44,7 @@ debugData([ }, { label: "Option 1" }, { label: "Option 2" }, - { label: "Vehicle class", values: ["Nice", "Super nice", "Extra nice"] }, + { label: "Vehicle class", values: ["Nice", "Super nice", "Extra nice"], defaultIndex: 1 }, { label: "Option 1" }, { label: "Option 2" }, { label: "Vehicle class", values: ["Nice", "Super nice", "Extra nice"] }, @@ -150,7 +151,7 @@ const ListMenu: React.FC = () => { setVisible(true); let arrayIndexes: { [key: number]: number } = {}; for (let i = 0; i < data.items.length; i++) { - if (Array.isArray(data.items[i].values)) arrayIndexes[i] = 0; + if (Array.isArray(data.items[i].values)) arrayIndexes[i] = data.items[i].defaultIndex || 0; } setIndexStates(arrayIndexes); listRefs.current[0]?.focus(); @@ -161,7 +162,7 @@ const ListMenu: React.FC = () => { {visible && (