crudPage({title:'Users',subtitle:'Manage system users',data: users,fields:[{key:'name',label:'Name',type:'text',required: true},{key:'email',label:'Email',type:'email',required: true},{key:'role',label:'Role',type:'select',options:[{label:'Admin',value:'admin'},{label:'User',value:'user'}]},],columns:[{key:'name',label:'Name'},{key:'email',label:'Email'},{key:'role',label:'Role',render:(v)=><Badgevariant={v==='admin'?'default':'secondary'}>{v}</Badge>},],onAdd: handleAdd,onEdit: handleEdit,onDelete: handleDelete,})
Notas
El schema de campos se almacena como data attribute para que un agente pueda leerlo y generar el formulario de diálogo correspondiente. La tabla incluye sorting visual implícito por columnas.