我的react-native应用程序中有一个TextInput
。当我设置值prop并且值大于TextInput
的长度时,它显示从结尾而不是开头开始的文本。在iOS中它可以正常工作,它似乎是一个Android问题。有没有办法将文本与TextInput
的开头或首选的文本对齐?
这就是我所看到的:
这就是我想要的:
这是我的代码
<TextInput
defaultValue={address}
ref="searchInput"
autoCorrect={false}
style={searchStyles.searchInputField}
placeholderTextColor={'#ddd'}
placeholder="Location"
onChangeText={query => this.search(query)}
/>
答案 0 :(得分:3)
添加没有selection={{start:0}}
属性的end
答案 1 :(得分:3)
尝试一下对我有用
constructor(props) {
super(props);
this.state = {
selection: Platform.OS === 'android' ? { start: 0 } : null
}
}
onFocus =()=>{
if(Platform.OS==='android'){
this.setState({ selection:null });
}
}
onBlur =()=>{
if(Platform.OS==='android'){
this.setState({ selection:{ start: 0, end: 0 } });
}
}
<TextInput
onFocus={()=>this.onFocus()}
onBlur={()=>this.onBlur()}
selection={this.state.selection}
/>
答案 2 :(得分:1)
$vid = array('7');
$vidDB = array('5','4','6,7');
$vidDB2 = explode(',',implode(',',$vidDB)); //Flatten the array using implode and explode
$common = array_intersect($vid, $vidDB2); //Check the common array
$count = count($common); //To return the number
echo "<pre>";;
print_r( $common );
echo "</pre>";
或您可以尝试ellipsizeMode="head"
答案 3 :(得分:0)
我遇到了同样的问题,为此,我的解决方案是默认情况下将selection道具添加到开头。这样可以有效地使输入成为焦点。然后,我添加了autoFocus道具并将其设置为true,以使其在加载组件时开始。
<TextInput value={address} autoFocus={true} selection={{start:0, end:0}} />
也许有更好的方法可以做到这一点,但这就是我想出的希望能对其他人有所帮助的地方。
答案 4 :(得分:0)
this.inputRef &&
this.inputRef.setNativeProps({ selection: { start: 0, end: 0 } })
将代码放在onEndEditing中以及您想更新文本的任何地方。
或同时更新文本和选择内容:
this.inputRef &&
this.inputRef.setNativeProps({ text: value, selection: { start: 0, end: 0 } })