#react-native
Вопрос:
у меня есть выбор, и у меня есть 3 элемента в массиве, где я получаю там. Мне нужно поместить первый элемент из массива в средство выбора по умолчанию. Это мой выбор, который получает все элементы, и когда я нажимаю раскрывающийся список, он показывает все мои драйверы, но по умолчанию ему нужно показать первый элемент из массива.
<View style={{width: '50%', paddingRight: 5}}>
<RNPickerSelect
style={{
inputAndroid: styles.dropdownAndroid,
inputIOS: styles.dropdownIOS,
placeholder: styles.dropdownPlaceholder,
iconContainer: styles.dropwownIcon
}}
disabled={this.state.vendorDriverSelectDisabled}
placeholder={{ label: this.props.mainProps.language.selectDriver }}
onValueChange={(value) => this.setState({...this.state, selectedVendorDriver: value})}
value={this.state.selectedVendorDriver}
items={this.state.vendorDrivers}
useNativeAndroidPickerStyle={false}
Icon={() => {
return <EvilIcons name="chevron-down" size={37} color="#333" />
}}
/>
</View>
Комментарии:
1. просто инициализируйте свое
state.selectorVendorDriver
значение до 02. когда я набираю this.state.selectVendorDriver[0], я получаю сообщение об ошибке
3. Извини, я не это имел в виду. Я имел в виду, что в вашем конструкторе вы можете инициализировать состояние в значение
0
, таким образом, в вашем средстве выбора оно будет по умолчанию. Почему? Потому что это твоя ценность. На что вы его инициализируете прямо сейчас?4. вот в чем проблема, измените ее на 0
5. О, спасибо, это было полезно
Ответ №1:
Когда вы устанавливаете данные для vendorDrivers
состояния, используйте такой код?
this.setState({ vendorDrivers: someData })
Итак, просто установите selectedVendorDriver
состояние в первый элемент someData
И код станет
this.setState({ vendorDrivers: someData, selectedVendorDriver: someData[0] })