-
Notifications
You must be signed in to change notification settings - Fork 24.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
BREAKING: Better TextInput:
contentSize
property was removed from `…
…<TextInput>.onChange` event (Second attempt) Summary: `contentSize` was removed from both iOS and Android, tests was updated. USE `onContentSizeChange` INSTEAD. Why? * It always was a hack; * We already have dedicated event for it: `onContentSizeChange`; * `onChange` has nothing to do with layout actually; * We have to maintain `onChange` handler as fast and simple as possible, this feature complicates it a lot; * It was undocumented feature; * We already have native auto-expandable <TextInput>, so it illuminates 99% current use cases of this feature. Reviewed By: mmmulani Differential Revision: D4989881 fbshipit-source-id: 674bb98c89ada1fca7b3b20b304736b2a3b8304e
- Loading branch information
1 parent
9fae268
commit bac84ce
Showing
3 changed files
with
0 additions
and
47 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
bac84ce
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I might be missing something, but as far as I can find, there isn't a native auto-expanding feature out for android yet. Am I wrong on this? I would like to know if there is or isn't because this was one of the premises for this PR
bac84ce
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@shergin and @mmmulani I too would like to know where this "native auto-expandable <TextInput>" resides. Usage of
onChange
in order to expand an input was detailed here. There were some problems with this approach (mentioned in the comments), including a very annoying flicker whenever the size of the input was expanded. Has this commit resolved those issues? Please don't leave us in the dark here.bac84ce
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Guardiannw @Palisand Unfortunately, auto-expanding feature works only on iOS for now. We plan to implement this for Android as well, but we don't have time estimate though. (PR is always welcome. 😄)
You still can use
onContentSize
instead ofonChange
to implement auto-expanding feature on JS size.bac84ce
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@shergin Thanks for getting back. Now out at the risk of sounding stupid I must ask, how can I access the iOS auto-expanding feature? I have already restored my "custom" auto-expand with the
onChange
->onContentSizeChange
change, but I still get a flicker (more pronounced in iOS).bac84ce
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Palisand Thank you to cc'ed my by @-mentioned my username. 😄
Auto-expanding? It just works.
(I recently fixed one badly issue in this feature, so please test on
master
.)bac84ce
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@shergin I'm at my wits' end and seeing as how you have made several contributions toward a better
TextInput
, I'm hoping you can shed some light on how to get the screen position of the cursor within aTextInput
. Having the y position of the cursor exposed would allow one to scroll to the proper line when it is completely or partially out of view and to do so regardless of where it is located within the input's text.bac84ce
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Palisand I plan to implement exact same feature natively (at least for iOS, for now). (I already fixed a issue with auto scrolling to just focused
<TextInput>
.) AFAIK, RN does not expose such kind of API.bac84ce
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What version was auto-expanding input added for each platform?
bac84ce
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@dantman It is available only on iOS now. I hope we will have Android implementation is master this month.
bac84ce
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@shergin Ok, can you tell me which RN release it was added for iOS. I should be able to branch code by version. I've got a library where I implement custom auto-growing input into the text field. If this change ends up changing the behaviour of that / or it's more optimum to just use min/max height were available I might want to switch to that when run in an environment it's available.
bac84ce
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@dantman You can figure out exact version looking at the git history of RCTText library. I don't have any idea about the OSS versioning, I am sorry.