сохранение в 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> </SelectContent>
</Select> </Select>
), ),
Render: ({ config, value, onChange }) => ( Render: ({ config, value, onChange }) => {
<Select value={value} onValueChange={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"> <SelectTrigger className="w-full min-w-32">
<SelectValue placeholder={config.placeholder || 'Выберите значение'} /> <SelectValue
placeholder={config.placeholder || 'Выберите значение'}
/>
</SelectTrigger> </SelectTrigger>
<SelectContent> <SelectContent>
<SelectGroup> <SelectGroup>
@@ -139,5 +154,6 @@ export const selectDefinition: ElementDefinition<SelectConfig, string> = {
</SelectGroup> </SelectGroup>
</SelectContent> </SelectContent>
</Select> </Select>
), )
},
} }