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

时间:2015-12-14 14:58:24

标签: javascript ios reactjs react-native

我有两件事我想做。

  1. 当我在TextInput中选择文本,然后单击按钮时,我希望文本突出显示。

  2. 如何从TextInput中抓取突出显示的文本?

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

1 个答案:

答案 0 :(得分:0)

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

我的解决方案是创建一个自定义组件并对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
                }
            }   
        },