NativeScript - 如何在 iOS 中获取 TextView 的插入符号位置

NativeScript - How to get the caret position of TextView in iOS

我正在使用 NativeScript-Vue,但在 iOS

中找出 TextView 的插入符号位置时遇到问题
<StackLayout>
    <TextView ref="input" editable=true @loaded="getView"/>
</StackLayout>

...

getView(args) {
    console.log(args.object.ios)      // return {}
    console.log(this.$refs.input.ios) // return {}
}

...

https://discourse.nativescript.org/t/getting-cursor-position-of-textview-in-ios/5931

我看了上面的解决方案,但是好像只支持TypeScript?

我从 this.$refs.input.nativeView.ios 得到的总是 {}(空)

有谁知道我错过了什么?或者任何可用的方法都是受欢迎的!干杯

您只能使用 this.$refs.input.nativeView.ios,它可能会打印空对象,因为它是本机组件。

我创建了一个允许我获取所选文本的函数。通过这个函数,您还可以确定您的插入符位置。

function getSelectedText(view) {
  let selection = {
    start: view.ios.selectedRange.location,
    end: view.ios.selectedRange.location + view.ios.selectedRange.length,
    length: view.ios.selectedRange.length
  }
  
  return selection;
}

要使用此功能,只需获取您的文本字段的引用:

getSelectedText(this.$refs.textField.nativeView);