in spherical coordinates:
[tex]\vec{r}=r\hat{e_r}[/tex]
understand [itex]r=f(r)[/itex] and [itex]\hat{e_r}=f(\theta , \phi )[/itex]
it is well understood in multivariable calculus that, given [itex]z=f(x,y)[/itex] we have [itex]dz=\frac{\partial z}{\partial x}dx+\frac{\partial z}{\partial y}dy[/itex] (this is intuitive as well).
now by the product rule we have [tex]d\vec{r}=dr\hat{e_r}+r d\hat{e_r}[/tex]
thus it seems we have only to compute [itex]d \hat{e_r}[/itex]. by the above theorem, [itex]d \hat{e_r}=\frac{\partial \hat{e_r}}{\partial \theta}d\theta+\frac{\partial \hat{e_r}}{\partial \phi}d\phi[/itex]. a geometric illustration works best from here, but ill outline the procedure.
by definition of a partial derivative, we have [itex]\frac{\partial \hat{e_r}}{\partial \theta}=\lim_{\Delta \theta \to 0} \frac{\hat{e_r}(\theta +\Delta \theta, \phi)-\hat{e_r}(\theta , \phi)}{\Delta \theta}[/itex]. recognize (by drawing a picture perhaps) that [itex]\hat{e_r}(\theta +\Delta \theta, \phi)-\hat{e_r}(\theta , \phi)= \sin(\phi) \hat{e_\theta}\Delta \theta[/itex]. after considering the limit we arrive at simply [itex]d \hat{e_r}=\sin(\phi) \hat{e_\theta}d\theta+\frac{\partial \hat{e_r}}{\partial \phi}d\phi[/itex]
the [itex]\phi[/itex] term is conducted in a similar fashion. if you're lost in the geometry, sketch it out (it makes much more sense that way). hope this helps!