在我的项目中,我使用react-native-tags从用户那里获取不同的颜色变体。
这是代码:
<View style={{ marginVertical: 10, marginLeft: 20, justifyContent: 'center' }}>
<MText size={18}>Colors</MText>
</View>
<Tags
initialText=""
textInputProps={{
placeholder: "Enter Color",
blurOnSubmit:false
}}
initialTags={this.state.colors}
createTagOnString={[","]}
createTagOnReturn={true}
onChangeTags={(tags) => {
this.setState((prevState) => ({
colors: tags
}), () => this.handleVariantChanges());
}}
onTagPress={(index, tagLabel, event, deleted) => console.log(index, tagLabel, event, deleted ? "deleted" : "not deleted")
}
containerStyle={styles.tagContainer}
inputStyle={{ backgroundColor: "white" }}
renderTag={({ tag, index, onPress, deleteTagOnPress, readonly }) => (
<TouchableOpacity style={styles.tag} onPress={onPress} key={index.toString()}>
<Icon name="times" color="#aaa" />
<MText>{' '}{tag}</MText>
</TouchableOpacity>
)}
/>
现在,在运行项目后,我添加了一些标签。标签添加成功。然后我继续添加另一个标签,但拼写不正确,所以我删除了第一个字符,但以前的标签也自动删除了。
另一个问题是,如果我想在添加一些标签后删除标签,我无法删除该标签。
这是问题 gif:
请帮助我这里出了什么问题!
注意: 仅当我将状态值用作initialTags
. 如果我保持initialTags
空白数组,那么一切正常。