Android 从文本输入中获取所选文本
假设这是一个组件Android 从文本输入中获取所选文本,android,react-native,wysiwyg,rich-text-editor,react-native-android,Android,React Native,Wysiwyg,Rich Text Editor,React Native Android,假设这是一个组件 class Wysiwyg extends Component { constructor(props) { super(props); } render() { return( <View> <TextInput placeholder="Type here" /> </View> )
class Wysiwyg extends Component {
constructor(props) {
super(props);
}
render() {
return(
<View>
<TextInput placeholder="Type here" />
</View>
)
}
}
AppRegistry.registerComponent('AwesomeProject', () => Wysiwyg)
类所见即所得扩展组件{
建造师(道具){
超级(道具);
}
render(){
返回(
)
}
}
AppRegistry.registerComponent('AwesomeProject',()=>Wysiwyg)
我打字:“棕色的大眼睛!”
现在,如果我从文本输入中选择“大”。如何获取所选文本输入值,以便在按下按钮时将“大”更改为“大”粗体。您可以通过使用文本输入的onSelectionChange和onChangeText道具来实现这一点:
export default class TextSelectionTest extends Component {
state = {
selection: [0,0],
text: ''
};
render() {
const {selection: [start, end], text} = this.state;
const selected = text.substring(start, end);
return (
<View>
<TextInput value={text} onSelectionChange={this.onSelectionChange}
onChangeText={text => this.setState({text})}/>
<Text>{`Selected chars ${start}-${end}: ${selected}`}</Text>
</View>
);
}
onSelectionChange = event => {
const selection = event.nativeEvent.selection;
this.setState({
selection: [selection.start, selection.end]
});
};
}
导出默认类TextSelectionTest扩展组件{
状态={
选择:[0,0],
文本:“”
};
render(){
const{selection:[start,end],text}=this.state;
const selected=text.substring(开始、结束);
返回(
this.setState({text})}/>
{`Selected chars${start}-${end}:${Selected}`}
);
}
onSelectionChange=事件=>{
const selection=event.nativeEvent.selection;
这是我的国家({
选择:[选择。开始,选择。结束]
});
};
}
至于选择加粗,我认为react native TextInput目前没有富文本编辑器功能,因此不可能 我会查一查,很快给你回复。谢谢。因为React Native 0.60
onSelectionChange
需要multiline={true}
。我猜这就是罪魁祸首: