我正在react-native中实现Picker。 Picker的值为String。我只需要在所选值中显示该字符串的一部分,我就需要拆分该字符串并动态地从中获取数据。
<Picker selectedValue={() => this.state.item.unit[this.state.uIndex].split(/\d+(cals)/)[0]}
style={style.pick}
onValueChange={(itemValue, itemIndex) => this.setState({uIndex: itemIndex})}
mode="dropdown"
>
{
this.state.item.unit.map((sizee) => {
return( <Picker.Item label={sizee} value={sizee} /> );
})
}
</Picker>
上面的代码更改了uIndex
的状态,并且如果我以以下方式写selectedValue
可以正常工作:
selectedValue={this.state.item.unit[this.state.uIndex]}
我如何显示分割价值?
答案 0 :(得分:0)
您需要先将其拆分,然后再将其发送到选择器:
///使用拆分后的值创建一个新数组以替换原始数组
var arrayWithSplittedStrings=[];
this.state.item.unit.map(item=>{
let eachItemSplitted = item.split(/\d+(cals)/)[0]
arrayWithSplittedStrings.push(eachItemSplitted )
})
//then replace your state with the splitted values
this.setState({item[unit]:arrayWithSplittedStrings})
然后它应该按照您想要的方式工作