I need help with PageEvent in FastUI.
I want receive Id in def modal_view from def deliveriy_choice field ‘id’
How I can do this?
I have this code
@router.get('/add/delivery', response_model=FastUI, response_model_exclude_none=True)
async def deliveriy_choice(
session: AsyncSession = Depends(get_async_session)
):
filters = DeliveryFilter()
deliveries = await Delivery.get_by(session, filters)
return page(
c.Heading(text='Добавить', level=2),
c.Paragraph(text='В базу'),
c.Table(
data_model=DeliveryTable,
data=deliveries,
columns=[
DisplayLookup(
field='id', on_click=PageEvent(
name='server-load',
context={'id': {id}'}
)
),
DisplayLookup(field='create_at', mode='date'),
DisplayLookup(field='shop', mode='auto')
]
),
c.Div(
components=[
c.ServerLoad(
path='/mission/delivery/dynamic-content/{id}',
load_trigger=PageEvent(name='server-load'),
components=[c.Text(text='before')],
), ],
class_name='py-2',
)
)
@router.get('/delivery/dynamic-content/{id}', response_model=FastUI, response_model_exclude_none=True)
async def modal_view(
session: AsyncSession = Depends(get_async_session),
id: str | None = None
) -> list[AnyComponent]:
print(id)
# delivery = await Delivery.get_by(session, filters=DeliveryFilter(id=id))
await asyncio.sleep(0.5)
return [
c.Paragraph(text=f'Good'),
]
I don’t know how I can do this.
What I do wrong? I think something wrong with context={‘id’: ‘{id}’}
New contributor
ITWeirdRunner is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.