сохранение в localstorage для списка

This commit is contained in:
2025-07-25 13:24:46 +03:00
parent 6f74b0512e
commit d9b51014e9

View File

@@ -122,10 +122,25 @@ export const selectDefinition: ElementDefinition<SelectConfig, string> = {
</SelectContent>
</Select>
),
Render: ({ config, value, onChange }) => (
<Select value={value} onValueChange={onChange}>
Render: ({ config, value, onChange }) => {
const elementId = (config as any).id || config.placeholder || 'default'
const storageKey = `select_${elementId}`
const handleValueChange = (newValue: string) => {
localStorage.setItem(storageKey, newValue)
onChange?.(newValue)
}
// Если значение не установлено, пытаемся загрузить из localStorage
const currentValue = value || localStorage.getItem(storageKey) || ''
return (
<Select value={currentValue} onValueChange={handleValueChange}>
<SelectTrigger className="w-full min-w-32">
<SelectValue placeholder={config.placeholder || 'Выберите значение'} />
<SelectValue
placeholder={config.placeholder || 'Выберите значение'}
/>
</SelectTrigger>
<SelectContent>
<SelectGroup>
@@ -139,5 +154,6 @@ export const selectDefinition: ElementDefinition<SelectConfig, string> = {
</SelectGroup>
</SelectContent>
</Select>
),
)
},
}