React Native TextInput 抓取突出显示的文本,并在我点击离开时保持突出显示

Posted

技术标签:

【中文标题】React Native TextInput 抓取突出显示的文本,并在我点击离开时保持突出显示【英文标题】:React Native TextInput grabbing highlighted text, and keeping it highlighted when I click away 【发布时间】:2015-12-14 14:58:24 【问题描述】:

我有两件事想做。

    当我在 TextInput 中选择文本并单击按钮时,我希望保持文本突出显示。

    如何从 TextInput 中获取突出显示的文本?

不应该有可以做到这一点的属性和事件吗?

【问题讨论】:

【参考方案1】:

由于没有人回答,我将给出我的解决方案。

我的解决方案是创建一个自定义组件并对 UITextView 的代表进行回调

-(void)textViewDidChangeSelection:(UITextView *)textView
  

  NSDictionary *event = @
                          @"target": textView.reactTag,
                          @"highlights": @
                              @"text": textView.text,
                              @"range": @(textView.selectedRange.length),
                              @"cursorPosition": @(textView.selectedRange.location),
                              @"eventType": @"textViewDidChangeSelection",
                              
                          ;
  [self.bridge.eventDispatcher sendInputEventWithName:@"topChange" body:event];

然后在我的 javascript 文件中

setText(event: Event)
        if(event !== undefined)
        if(event.nativeEvent.highlights.eventType == "shouldChangeTextInRange" && event.nativeEvent.highlights.range > 0)
//do stuff
                
               
        ,

【讨论】:

以上是关于React Native TextInput 抓取突出显示的文本,并在我点击离开时保持突出显示的主要内容,如果未能解决你的问题,请参考以下文章

React Native 组件之TextInput

删除行时如何使多行TextInput缩小(React-Native)?

如何使用 react-native 的 TextInput 的 `selectionState` 属性?

React Native 之 TextInput(多个语法知识)

fontFamily 'Arial' 不是使用 react-native-textinput-effects 的系统字体

TextInput 在 react-native 中隐藏在键盘后面