-
-
Notifications
You must be signed in to change notification settings - Fork 300
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[TextField] Cursor jumps to the end when async update #572
Comments
I found a solution. I'll explain the whole thing here, maybe this can save some people's time. The problem of seeing the cursor jump to the end actually happens each time a controlled input gets its new value asynchronously. To sumup some of my researchs, here is what happens : ExplanationWhen the input is controlled synchronously (cursor doesn't jump) :
When the input is controlled asynchronously (cursor jumps) :
SolutionThe solution is to do both sync and async control in a little wrapper. You call prop
And here is the wrapper :
This can be easily adapted to other input components. Hope this will help. |
I am having the same issue but when using TextField with redux-form. Interestingly though, if I pull out
|
Redux-Form WorkaroundThis one has been a doozy, but I figured out a workaround for this when using redux-form. Hopefully, this helps folks that have this same issue. Note this only happens when using maxLength on a
|
This should hopefully be the last commit required for the v2 release. Tagging all the open v2 targeted github issues below so they auto close once this is merged. - Closes #826 (v2 status ticket) - Closes #697 - Closes #854 with the new documentation for [self hosting fonts with relative paths] - Closes #851, closes #642 with the new [ExpansionPanel] components - Closes #850, closes #641, closes #600, closes #594, closes #554, closes #519, closes #406, closes #405, closes #404, closes #399, closes #289, closes #237 with the new [Table] components and the new [useIndeterminateChecked] hook - Closes #848, closes #816, closes #788 since v2 no longer uses deprecated lifecycle methods and is purely function component based. (react-transition-group uses `findDOMNode` though right now) - Closes #844 since this is available in the [@react-md/sheet package] - Closes #842 due to re-writing the `Collapse` component - Closes #824, closes #820, closes #771, closes #707, closes #693, closes #687, closes #654, closes #577, closes #270 due to the new [Tabs API] - Closes #823, closes #714, closes #705 with the new [Menu components] - Closes #822 since the new [@react-md/form package] added the new styles. - Closes #819 with the new [SimpleListItem] and [ListItemChildren (preferred)] components - Closes #818 with the new focus behavior - Closes #804, closes #765, closes #743, closes #731, closes #730, closes #671, closes #607, closes #387 with the new [NativeSelect] and [Select] implementations - Closes #802, closes #762, closes #761, closes #572, closes #486, closes #408, closes #314, closes #312 with the new [TextField] implementation - Closes #791, closes #780, closes #425 with the new [AutoComplete] implementation - Closes #770 with the new [FixedDialog] component - Closes #721, closes #640, closes #407 with the new [Grid] and [GridList] implementations - Closes #719 with the new [Radio] component - Closes #706, closes #683 with the new [Button] component - Closes #695 with the new [Theme API] - Closes #691 with the new [FileInput] component - Closes #689 with the new [Tabs API] and [Menu components] - Closes #674, closes #413 with the new [@react-md/alert package] - Closes #658 with the new [Menu components] and [@react-md/tree package] - Closes #582 with the new [Chip] component - Closes #497, closes #455, closes #419 with the new [@react-md/layout package] - Closes #496 with the new [Switch] component - Closes #239, closes #157 with the new [Tooltip] component [self hosting fonts with relative paths]: https://react-md.dev/guides/advanced-installation#using-relative-paths-for-fonts [useIndeterminateChecked hook]: https://react-md.dev/packages/form/demos#indeterminate-checkboxes-title [@react-md/alert package]: https://react-md.dev/packages/alert/demos [@react-md/layout package]: https://react-md.dev/packages/layout/demos [@react-md/form package]: https://react-md.dev/packages/form/demos [@react-md/sheet package]: https://react-md.dev/packages/sheet/demos [@react-md/tree package]: https://react-md.dev/packages/tree/demos [Theme API]: https://react-md.dev/guides/customizing-your-theme [Tabs api]: https://react-md.dev/packages/tabs/demos [Button]: https://react-md.dev/packages/button/demos [Chip]: https://react-md.dev/packages/chip/demos [ExpansionPanel]: https://react-md.dev/packages/button/demos [menu components]: https://react-md.dev/packages/menu/demos [FileInput]: https://react-md.dev/packages/form/demos#file-input-example-title [Switch]: https://react-md.dev/packages/form/demos#switch-examples-title [NativeSelect]: https://react-md.dev/packages/form/demos#native-select-example-title [Select]: https://react-md.dev/packages/form/demos#select-example-title [Tooltip]: https://react-md.dev/packages/tooltip/demos [AutoComplete]: https://react-md.dev/packages/autocomplete/demos [FixedDialog]: https://react-md.dev/packages/dialog/demos#fixed-dialog-example-title [TextField]: https://react-md.dev/packages/form/demos#text-field-example-title [Radio]: https://react-md.dev/packages/form/demos#checkbox-and-radio-examples-title [Grid]: https://react-md.dev/packages/utils/demos#material-grid-example-title [GridList]: https://react-md.dev/packages/utils/demos#simple-grid-list-example-title [SimpleListItem]: https://github.com/mlaursen/react-md/blob/1a4161976fbb95233284c507c10063602d1cc682/packages/list/src/SimpleListItem.tsx [ListItemChildren]: https://github.com/mlaursen/react-md/blob/1a4161976fbb95233284c507c10063602d1cc682/packages/list/src/ListItemChildren.tsx
This should hopefully be the last commit required for the v2 release. Tagging all the open v2 targeted github issues below so they auto close once this is merged. - Closes #826 (v2 status ticket) - Closes #697 - Closes #854 with the new documentation for [self hosting fonts with relative paths] - Closes #851, closes #642 with the new [ExpansionPanel] components - Closes #850, closes #641, closes #600, closes #594, closes #554, closes #519, closes #406, closes #405, closes #404, closes #399, closes #289, closes #237 with the new [Table] components and the new [useIndeterminateChecked] hook - Closes #848, closes #816, closes #788 since v2 no longer uses deprecated lifecycle methods and is purely function component based. (react-transition-group uses `findDOMNode` though right now) - Closes #844 since this is available in the [@react-md/sheet package] - Closes #842 due to re-writing the `Collapse` component - Closes #824, closes #820, closes #771, closes #707, closes #693, closes #687, closes #654, closes #577, closes #270 due to the new [Tabs API] - Closes #823, closes #714, closes #705 with the new [Menu components] - Closes #822 since the new [@react-md/form package] added the new styles. - Closes #819 with the new [SimpleListItem] and [ListItemChildren (preferred)] components - Closes #818 with the new focus behavior - Closes #804, closes #765, closes #743, closes #731, closes #730, closes #671, closes #607, closes #387 with the new [NativeSelect] and [Select] implementations - Closes #802, closes #762, closes #761, closes #572, closes #486, closes #408, closes #314, closes #312 with the new [TextField] implementation - Closes #791, closes #780, closes #425, closes #633 with the new [AutoComplete] implementation - Closes #770 with the new [FixedDialog] component - Closes #721, closes #640, closes #407 with the new [Grid] and [GridList] implementations - Closes #719 with the new [Radio] component - Closes #706, closes #683 with the new [Button] component - Closes #695 with the new [Theme API] - Closes #691 with the new [FileInput] component - Closes #689 with the new [Tabs API] and [Menu components] - Closes #674, closes #413 with the new [@react-md/alert package] - Closes #658 with the new [Menu components] and [@react-md/tree package] - Closes #582 with the new [Chip] component - Closes #497, closes #455, closes #419 with the new [@react-md/layout package] - Closes #496 with the new [Switch] component - Closes #239, closes #157 with the new [Tooltip] component [self hosting fonts with relative paths]: https://react-md.dev/guides/advanced-installation#using-relative-paths-for-fonts [useIndeterminateChecked hook]: https://react-md.dev/packages/form/demos#indeterminate-checkboxes-title [@react-md/alert package]: https://react-md.dev/packages/alert/demos [@react-md/layout package]: https://react-md.dev/packages/layout/demos [@react-md/form package]: https://react-md.dev/packages/form/demos [@react-md/sheet package]: https://react-md.dev/packages/sheet/demos [@react-md/tree package]: https://react-md.dev/packages/tree/demos [Theme API]: https://react-md.dev/guides/customizing-your-theme [Tabs api]: https://react-md.dev/packages/tabs/demos [Button]: https://react-md.dev/packages/button/demos [Chip]: https://react-md.dev/packages/chip/demos [ExpansionPanel]: https://react-md.dev/packages/button/demos [menu components]: https://react-md.dev/packages/menu/demos [FileInput]: https://react-md.dev/packages/form/demos#file-input-example-title [Switch]: https://react-md.dev/packages/form/demos#switch-examples-title [NativeSelect]: https://react-md.dev/packages/form/demos#native-select-example-title [Select]: https://react-md.dev/packages/form/demos#select-example-title [Tooltip]: https://react-md.dev/packages/tooltip/demos [Table]: https://react-md.dev/packages/table/demos [AutoComplete]: https://react-md.dev/packages/autocomplete/demos [FixedDialog]: https://react-md.dev/packages/dialog/demos#fixed-dialog-example-title [TextField]: https://react-md.dev/packages/form/demos#text-field-example-title [Radio]: https://react-md.dev/packages/form/demos#checkbox-and-radio-examples-title [Grid]: https://react-md.dev/packages/utils/demos#material-grid-example-title [GridList]: https://react-md.dev/packages/utils/demos#simple-grid-list-example-title [SimpleListItem]: https://github.com/mlaursen/react-md/blob/1a4161976fbb95233284c507c10063602d1cc682/packages/list/src/SimpleListItem.tsx [ListItemChildren (preferred)]: https://github.com/mlaursen/react-md/blob/1a4161976fbb95233284c507c10063602d1cc682/packages/list/src/ListItemChildren.tsx [useIndeterminateChecked]: https://github.com/mlaursen/react-md/blob/1a4161976fbb95233284c507c10063602d1cc682/packages/form/src/useIndeterminateChecked.ts
This should hopefully be the last commit required for the v2 release. Tagging all the open v2 targeted github issues below so they auto close once this is merged. - Closes mlaursen#826 (v2 status ticket) - Closes mlaursen#697 - Closes mlaursen#854 with the new documentation for [self hosting fonts with relative paths] - Closes mlaursen#851, closes mlaursen#642 with the new [ExpansionPanel] components - Closes mlaursen#850, closes mlaursen#641, closes mlaursen#600, closes mlaursen#594, closes mlaursen#554, closes mlaursen#519, closes mlaursen#406, closes mlaursen#405, closes mlaursen#404, closes mlaursen#399, closes #289, closes #237 with the new [Table] components and the new [useIndeterminateChecked] hook - Closes mlaursen#848, closes mlaursen#816, closes mlaursen#788 since v2 no longer uses deprecated lifecycle methods and is purely function component based. (react-transition-group uses `findDOMNode` though right now) - Closes mlaursen#844 since this is available in the [@react-md/sheet package] - Closes mlaursen#842 due to re-writing the `Collapse` component - Closes mlaursen#824, closes mlaursen#820, closes mlaursen#771, closes mlaursen#707, closes mlaursen#693, closes mlaursen#687, closes mlaursen#654, closes mlaursen#577, closes #270 due to the new [Tabs API] - Closes mlaursen#823, closes mlaursen#714, closes mlaursen#705 with the new [Menu components] - Closes mlaursen#822 since the new [@react-md/form package] added the new styles. - Closes mlaursen#819 with the new [SimpleListItem] and [ListItemChildren (preferred)] components - Closes mlaursen#818 with the new focus behavior - Closes mlaursen#804, closes mlaursen#765, closes mlaursen#743, closes mlaursen#731, closes mlaursen#730, closes mlaursen#671, closes mlaursen#607, closes mlaursen#387 with the new [NativeSelect] and [Select] implementations - Closes mlaursen#802, closes mlaursen#762, closes mlaursen#761, closes mlaursen#572, closes mlaursen#486, closes mlaursen#408, closes mlaursen#314, closes mlaursen#312 with the new [TextField] implementation - Closes mlaursen#791, closes mlaursen#780, closes mlaursen#425, closes mlaursen#633 with the new [AutoComplete] implementation - Closes mlaursen#770 with the new [FixedDialog] component - Closes mlaursen#721, closes mlaursen#640, closes mlaursen#407 with the new [Grid] and [GridList] implementations - Closes mlaursen#719 with the new [Radio] component - Closes mlaursen#706, closes mlaursen#683 with the new [Button] component - Closes mlaursen#695 with the new [Theme API] - Closes mlaursen#691 with the new [FileInput] component - Closes mlaursen#689 with the new [Tabs API] and [Menu components] - Closes mlaursen#674, closes mlaursen#413 with the new [@react-md/alert package] - Closes mlaursen#658 with the new [Menu components] and [@react-md/tree package] - Closes mlaursen#582 with the new [Chip] component - Closes mlaursen#497, closes mlaursen#455, closes mlaursen#419 with the new [@react-md/layout package] - Closes mlaursen#496 with the new [Switch] component - Closes #239, closes #157 with the new [Tooltip] component [self hosting fonts with relative paths]: https://react-md.dev/guides/advanced-installation#using-relative-paths-for-fonts [useIndeterminateChecked hook]: https://react-md.dev/packages/form/demos#indeterminate-checkboxes-title [@react-md/alert package]: https://react-md.dev/packages/alert/demos [@react-md/layout package]: https://react-md.dev/packages/layout/demos [@react-md/form package]: https://react-md.dev/packages/form/demos [@react-md/sheet package]: https://react-md.dev/packages/sheet/demos [@react-md/tree package]: https://react-md.dev/packages/tree/demos [Theme API]: https://react-md.dev/guides/customizing-your-theme [Tabs api]: https://react-md.dev/packages/tabs/demos [Button]: https://react-md.dev/packages/button/demos [Chip]: https://react-md.dev/packages/chip/demos [ExpansionPanel]: https://react-md.dev/packages/button/demos [menu components]: https://react-md.dev/packages/menu/demos [FileInput]: https://react-md.dev/packages/form/demos#file-input-example-title [Switch]: https://react-md.dev/packages/form/demos#switch-examples-title [NativeSelect]: https://react-md.dev/packages/form/demos#native-select-example-title [Select]: https://react-md.dev/packages/form/demos#select-example-title [Tooltip]: https://react-md.dev/packages/tooltip/demos [Table]: https://react-md.dev/packages/table/demos [AutoComplete]: https://react-md.dev/packages/autocomplete/demos [FixedDialog]: https://react-md.dev/packages/dialog/demos#fixed-dialog-example-title [TextField]: https://react-md.dev/packages/form/demos#text-field-example-title [Radio]: https://react-md.dev/packages/form/demos#checkbox-and-radio-examples-title [Grid]: https://react-md.dev/packages/utils/demos#material-grid-example-title [GridList]: https://react-md.dev/packages/utils/demos#simple-grid-list-example-title [SimpleListItem]: https://github.com/mlaursen/react-md/blob/1a4161976fbb95233284c507c10063602d1cc682/packages/list/src/SimpleListItem.tsx [ListItemChildren (preferred)]: https://github.com/mlaursen/react-md/blob/1a4161976fbb95233284c507c10063602d1cc682/packages/list/src/ListItemChildren.tsx [useIndeterminateChecked]: https://github.com/mlaursen/react-md/blob/1a4161976fbb95233284c507c10063602d1cc682/packages/form/src/useIndeterminateChecked.ts
This should hopefully be the last commit required for the v2 release. Tagging all the open v2 targeted github issues below so they auto close once this is merged. - Closes #826 (v2 status ticket) - Closes #697 - Closes #854 with the new documentation for [self hosting fonts with relative paths] - Closes #851, closes #642 with the new [ExpansionPanel] components - Closes #850, closes #641, closes #600, closes #594, closes #554, closes #519, closes #406, closes #405, closes #404, closes #399, closes #289, closes #237 with the new [Table] components and the new [useIndeterminateChecked] hook - Closes #848, closes #816, closes #788 since v2 no longer uses deprecated lifecycle methods and is purely function component based. (react-transition-group uses `findDOMNode` though right now) - Closes #844 since this is available in the [@react-md/sheet package] - Closes #842 due to re-writing the `Collapse` component - Closes #824, closes #820, closes #771, closes #707, closes #693, closes #687, closes #654, closes #577, closes #270 due to the new [Tabs API] - Closes #823, closes #714, closes #705 with the new [Menu components] - Closes #822 since the new [@react-md/form package] added the new styles. - Closes #819 with the new [SimpleListItem] and [ListItemChildren (preferred)] components - Closes #818 with the new focus behavior - Closes #804, closes #765, closes #743, closes #731, closes #730, closes #671, closes #607, closes #387 with the new [NativeSelect] and [Select] implementations - Closes #802, closes #762, closes #761, closes #572, closes #486, closes #408, closes #314, closes #312 with the new [TextField] implementation - Closes #791, closes #780, closes #425, closes #633 with the new [AutoComplete] implementation - Closes #770 with the new [FixedDialog] component - Closes #721, closes #640, closes #407 with the new [Grid] and [GridList] implementations - Closes #719 with the new [Radio] component - Closes #706, closes #683 with the new [Button] component - Closes #695 with the new [Theme API] - Closes #691 with the new [FileInput] component - Closes #689 with the new [Tabs API] and [Menu components] - Closes #674, closes #413 with the new [@react-md/alert package] - Closes #658 with the new [Menu components] and [@react-md/tree package] - Closes #582 with the new [Chip] component - Closes #497, closes #455, closes #419 with the new [@react-md/layout package] - Closes #496 with the new [Switch] component - Closes #239, closes #157 with the new [Tooltip] component [self hosting fonts with relative paths]: https://react-md.dev/guides/advanced-installation#using-relative-paths-for-fonts [useIndeterminateChecked hook]: https://react-md.dev/packages/form/demos#indeterminate-checkboxes-title [@react-md/alert package]: https://react-md.dev/packages/alert/demos [@react-md/layout package]: https://react-md.dev/packages/layout/demos [@react-md/form package]: https://react-md.dev/packages/form/demos [@react-md/sheet package]: https://react-md.dev/packages/sheet/demos [@react-md/tree package]: https://react-md.dev/packages/tree/demos [Theme API]: https://react-md.dev/guides/customizing-your-theme [Tabs api]: https://react-md.dev/packages/tabs/demos [Button]: https://react-md.dev/packages/button/demos [Chip]: https://react-md.dev/packages/chip/demos [ExpansionPanel]: https://react-md.dev/packages/button/demos [menu components]: https://react-md.dev/packages/menu/demos [FileInput]: https://react-md.dev/packages/form/demos#file-input-example-title [Switch]: https://react-md.dev/packages/form/demos#switch-examples-title [NativeSelect]: https://react-md.dev/packages/form/demos#native-select-example-title [Select]: https://react-md.dev/packages/form/demos#select-example-title [Tooltip]: https://react-md.dev/packages/tooltip/demos [Table]: https://react-md.dev/packages/table/demos [AutoComplete]: https://react-md.dev/packages/autocomplete/demos [FixedDialog]: https://react-md.dev/packages/dialog/demos#fixed-dialog-example-title [TextField]: https://react-md.dev/packages/form/demos#text-field-example-title [Radio]: https://react-md.dev/packages/form/demos#checkbox-and-radio-examples-title [Grid]: https://react-md.dev/packages/utils/demos#material-grid-example-title [GridList]: https://react-md.dev/packages/utils/demos#simple-grid-list-example-title [SimpleListItem]: https://github.com/mlaursen/react-md/blob/1a4161976fbb95233284c507c10063602d1cc682/packages/list/src/SimpleListItem.tsx [ListItemChildren (preferred)]: https://github.com/mlaursen/react-md/blob/1a4161976fbb95233284c507c10063602d1cc682/packages/list/src/ListItemChildren.tsx [useIndeterminateChecked]: https://github.com/mlaursen/react-md/blob/1a4161976fbb95233284c507c10063602d1cc682/packages/form/src/useIndeterminateChecked.ts
* chore(docs): Started initial v2 Release Notes/Blog * chore(docs): Updated documentation for {{RMD_VERSION}} This should hopefully be the last commit required for the v2 release. Tagging all the open v2 targeted github issues below so they auto close once this is merged. - Closes mlaursen#826 (v2 status ticket) - Closes mlaursen#697 - Closes mlaursen#854 with the new documentation for [self hosting fonts with relative paths] - Closes mlaursen#851, closes mlaursen#642 with the new [ExpansionPanel] components - Closes mlaursen#850, closes mlaursen#641, closes mlaursen#600, closes mlaursen#594, closes mlaursen#554, closes mlaursen#519, closes mlaursen#406, closes mlaursen#405, closes mlaursen#404, closes mlaursen#399, closes #289, closes #237 with the new [Table] components and the new [useIndeterminateChecked] hook - Closes mlaursen#848, closes mlaursen#816, closes mlaursen#788 since v2 no longer uses deprecated lifecycle methods and is purely function component based. (react-transition-group uses `findDOMNode` though right now) - Closes mlaursen#844 since this is available in the [@react-md/sheet package] - Closes mlaursen#842 due to re-writing the `Collapse` component - Closes mlaursen#824, closes mlaursen#820, closes mlaursen#771, closes mlaursen#707, closes mlaursen#693, closes mlaursen#687, closes mlaursen#654, closes mlaursen#577, closes #270 due to the new [Tabs API] - Closes mlaursen#823, closes mlaursen#714, closes mlaursen#705 with the new [Menu components] - Closes mlaursen#822 since the new [@react-md/form package] added the new styles. - Closes mlaursen#819 with the new [SimpleListItem] and [ListItemChildren (preferred)] components - Closes mlaursen#818 with the new focus behavior - Closes mlaursen#804, closes mlaursen#765, closes mlaursen#743, closes mlaursen#731, closes mlaursen#730, closes mlaursen#671, closes mlaursen#607, closes mlaursen#387 with the new [NativeSelect] and [Select] implementations - Closes mlaursen#802, closes mlaursen#762, closes mlaursen#761, closes mlaursen#572, closes mlaursen#486, closes mlaursen#408, closes mlaursen#314, closes mlaursen#312 with the new [TextField] implementation - Closes mlaursen#791, closes mlaursen#780, closes mlaursen#425, closes mlaursen#633 with the new [AutoComplete] implementation - Closes mlaursen#770 with the new [FixedDialog] component - Closes mlaursen#721, closes mlaursen#640, closes mlaursen#407 with the new [Grid] and [GridList] implementations - Closes mlaursen#719 with the new [Radio] component - Closes mlaursen#706, closes mlaursen#683 with the new [Button] component - Closes mlaursen#695 with the new [Theme API] - Closes mlaursen#691 with the new [FileInput] component - Closes mlaursen#689 with the new [Tabs API] and [Menu components] - Closes mlaursen#674, closes mlaursen#413 with the new [@react-md/alert package] - Closes mlaursen#658 with the new [Menu components] and [@react-md/tree package] - Closes mlaursen#582 with the new [Chip] component - Closes mlaursen#497, closes mlaursen#455, closes mlaursen#419 with the new [@react-md/layout package] - Closes mlaursen#496 with the new [Switch] component - Closes #239, closes #157 with the new [Tooltip] component [self hosting fonts with relative paths]: https://react-md.dev/guides/advanced-installation#using-relative-paths-for-fonts [useIndeterminateChecked hook]: https://react-md.dev/packages/form/demos#indeterminate-checkboxes-title [@react-md/alert package]: https://react-md.dev/packages/alert/demos [@react-md/layout package]: https://react-md.dev/packages/layout/demos [@react-md/form package]: https://react-md.dev/packages/form/demos [@react-md/sheet package]: https://react-md.dev/packages/sheet/demos [@react-md/tree package]: https://react-md.dev/packages/tree/demos [Theme API]: https://react-md.dev/guides/customizing-your-theme [Tabs api]: https://react-md.dev/packages/tabs/demos [Button]: https://react-md.dev/packages/button/demos [Chip]: https://react-md.dev/packages/chip/demos [ExpansionPanel]: https://react-md.dev/packages/button/demos [menu components]: https://react-md.dev/packages/menu/demos [FileInput]: https://react-md.dev/packages/form/demos#file-input-example-title [Switch]: https://react-md.dev/packages/form/demos#switch-examples-title [NativeSelect]: https://react-md.dev/packages/form/demos#native-select-example-title [Select]: https://react-md.dev/packages/form/demos#select-example-title [Tooltip]: https://react-md.dev/packages/tooltip/demos [Table]: https://react-md.dev/packages/table/demos [AutoComplete]: https://react-md.dev/packages/autocomplete/demos [FixedDialog]: https://react-md.dev/packages/dialog/demos#fixed-dialog-example-title [TextField]: https://react-md.dev/packages/form/demos#text-field-example-title [Radio]: https://react-md.dev/packages/form/demos#checkbox-and-radio-examples-title [Grid]: https://react-md.dev/packages/utils/demos#material-grid-example-title [GridList]: https://react-md.dev/packages/utils/demos#simple-grid-list-example-title [SimpleListItem]: https://github.com/mlaursen/react-md/blob/1a4161976fbb95233284c507c10063602d1cc682/packages/list/src/SimpleListItem.tsx [ListItemChildren (preferred)]: https://github.com/mlaursen/react-md/blob/1a4161976fbb95233284c507c10063602d1cc682/packages/list/src/ListItemChildren.tsx [useIndeterminateChecked]: https://github.com/mlaursen/react-md/blob/1a4161976fbb95233284c507c10063602d1cc682/packages/form/src/useIndeterminateChecked.ts * chore: Updates to look better in npm Created a new `yarn dev-utils rmd-readme` script that will copy the root README.md to the `react-md` folder and insert some additional information into the README. This is just to help add documentation if this package is found through npm instead of GitHub or other sources. Also updated all the package.json files to link to their specific documentation page as the `"homepage"` field. * chore(docs): Removed API Routes I haven't figured out how to generate the API docs yet and it's better to remove these pages so it isn't included in search or lead to confusion since there's nothing there. Hopefully I'll be able to figure out typedoc, react-docgen-typescript, or react-docgen (with the new typescript support) soon so it can be added back. * skip ci: Fixed travis badge to point to master * fix(form): Fixed the Select component to be submitted with forms Added the <input type=hidden /> back to the Select component so it can be submitted in forms. Also changed a few of the ids. * chore: Adding github label workflow * chore: Trying automatic labelling workflow
* chore(docs): Started initial v2 Release Notes/Blog * chore(docs): Updated documentation for {{RMD_VERSION}} This should hopefully be the last commit required for the v2 release. Tagging all the open v2 targeted github issues below so they auto close once this is merged. - Closes mlaursen#826 (v2 status ticket) - Closes mlaursen#697 - Closes mlaursen#854 with the new documentation for [self hosting fonts with relative paths] - Closes mlaursen#851, closes mlaursen#642 with the new [ExpansionPanel] components - Closes mlaursen#850, closes mlaursen#641, closes mlaursen#600, closes mlaursen#594, closes mlaursen#554, closes mlaursen#519, closes mlaursen#406, closes mlaursen#405, closes mlaursen#404, closes mlaursen#399, closes #289, closes #237 with the new [Table] components and the new [useIndeterminateChecked] hook - Closes mlaursen#848, closes mlaursen#816, closes mlaursen#788 since v2 no longer uses deprecated lifecycle methods and is purely function component based. (react-transition-group uses `findDOMNode` though right now) - Closes mlaursen#844 since this is available in the [@react-md/sheet package] - Closes mlaursen#842 due to re-writing the `Collapse` component - Closes mlaursen#824, closes mlaursen#820, closes mlaursen#771, closes mlaursen#707, closes mlaursen#693, closes mlaursen#687, closes mlaursen#654, closes mlaursen#577, closes #270 due to the new [Tabs API] - Closes mlaursen#823, closes mlaursen#714, closes mlaursen#705 with the new [Menu components] - Closes mlaursen#822 since the new [@react-md/form package] added the new styles. - Closes mlaursen#819 with the new [SimpleListItem] and [ListItemChildren (preferred)] components - Closes mlaursen#818 with the new focus behavior - Closes mlaursen#804, closes mlaursen#765, closes mlaursen#743, closes mlaursen#731, closes mlaursen#730, closes mlaursen#671, closes mlaursen#607, closes mlaursen#387 with the new [NativeSelect] and [Select] implementations - Closes mlaursen#802, closes mlaursen#762, closes mlaursen#761, closes mlaursen#572, closes mlaursen#486, closes mlaursen#408, closes mlaursen#314, closes mlaursen#312 with the new [TextField] implementation - Closes mlaursen#791, closes mlaursen#780, closes mlaursen#425, closes mlaursen#633 with the new [AutoComplete] implementation - Closes mlaursen#770 with the new [FixedDialog] component - Closes mlaursen#721, closes mlaursen#640, closes mlaursen#407 with the new [Grid] and [GridList] implementations - Closes mlaursen#719 with the new [Radio] component - Closes mlaursen#706, closes mlaursen#683 with the new [Button] component - Closes mlaursen#695 with the new [Theme API] - Closes mlaursen#691 with the new [FileInput] component - Closes mlaursen#689 with the new [Tabs API] and [Menu components] - Closes mlaursen#674, closes mlaursen#413 with the new [@react-md/alert package] - Closes mlaursen#658 with the new [Menu components] and [@react-md/tree package] - Closes mlaursen#582 with the new [Chip] component - Closes mlaursen#497, closes mlaursen#455, closes mlaursen#419 with the new [@react-md/layout package] - Closes mlaursen#496 with the new [Switch] component - Closes #239, closes #157 with the new [Tooltip] component [self hosting fonts with relative paths]: https://react-md.dev/guides/advanced-installation#using-relative-paths-for-fonts [useIndeterminateChecked hook]: https://react-md.dev/packages/form/demos#indeterminate-checkboxes-title [@react-md/alert package]: https://react-md.dev/packages/alert/demos [@react-md/layout package]: https://react-md.dev/packages/layout/demos [@react-md/form package]: https://react-md.dev/packages/form/demos [@react-md/sheet package]: https://react-md.dev/packages/sheet/demos [@react-md/tree package]: https://react-md.dev/packages/tree/demos [Theme API]: https://react-md.dev/guides/customizing-your-theme [Tabs api]: https://react-md.dev/packages/tabs/demos [Button]: https://react-md.dev/packages/button/demos [Chip]: https://react-md.dev/packages/chip/demos [ExpansionPanel]: https://react-md.dev/packages/button/demos [menu components]: https://react-md.dev/packages/menu/demos [FileInput]: https://react-md.dev/packages/form/demos#file-input-example-title [Switch]: https://react-md.dev/packages/form/demos#switch-examples-title [NativeSelect]: https://react-md.dev/packages/form/demos#native-select-example-title [Select]: https://react-md.dev/packages/form/demos#select-example-title [Tooltip]: https://react-md.dev/packages/tooltip/demos [Table]: https://react-md.dev/packages/table/demos [AutoComplete]: https://react-md.dev/packages/autocomplete/demos [FixedDialog]: https://react-md.dev/packages/dialog/demos#fixed-dialog-example-title [TextField]: https://react-md.dev/packages/form/demos#text-field-example-title [Radio]: https://react-md.dev/packages/form/demos#checkbox-and-radio-examples-title [Grid]: https://react-md.dev/packages/utils/demos#material-grid-example-title [GridList]: https://react-md.dev/packages/utils/demos#simple-grid-list-example-title [SimpleListItem]: https://github.com/mlaursen/react-md/blob/1a4161976fbb95233284c507c10063602d1cc682/packages/list/src/SimpleListItem.tsx [ListItemChildren (preferred)]: https://github.com/mlaursen/react-md/blob/1a4161976fbb95233284c507c10063602d1cc682/packages/list/src/ListItemChildren.tsx [useIndeterminateChecked]: https://github.com/mlaursen/react-md/blob/1a4161976fbb95233284c507c10063602d1cc682/packages/form/src/useIndeterminateChecked.ts * chore: Updates to look better in npm Created a new `yarn dev-utils rmd-readme` script that will copy the root README.md to the `react-md` folder and insert some additional information into the README. This is just to help add documentation if this package is found through npm instead of GitHub or other sources. Also updated all the package.json files to link to their specific documentation page as the `"homepage"` field. * chore(docs): Removed API Routes I haven't figured out how to generate the API docs yet and it's better to remove these pages so it isn't included in search or lead to confusion since there's nothing there. Hopefully I'll be able to figure out typedoc, react-docgen-typescript, or react-docgen (with the new typescript support) soon so it can be added back.
Description
Here is my case : I have a TextField that updates with the user input only after server validation. So onChange makes a socket request to the server, and the server sends the validated typed value back. Only then, the TextField is updated with the validated value. Performance is not the issue : this is almost as fast as typing in a TextField updated with classic setState. But I can't figure out why the cursor is always jumping to the end. This makes inner and front text edits a big deal.
After some researchs, I found this guy who had the same issue on InfernoJS :
infernojs/inferno#738
And it seems like a bug due to async updates. On the same thread, they gave two turnarounds :
Maybe this can give an insight too : facebook/react#955
https://stackoverflow.com/questions/28922275/in-reactjs-why-does-setstate-behave-differently-when-called-synchronously/28922465#28922465
Edit: I found a good explanation here : https://stackoverflow.com/a/28922465
I'm wondering if there is any easy trick to solve this. Any advice ?
Version
The text was updated successfully, but these errors were encountered: