Javascript React本机自定义跨平台下拉列表选择元素
我找得很彻底,运气不太好。我很难为我的应用程序实现一个简单的自定义下拉选择元素 我希望有一个跨平台的iOS和Android解决方案,比如这里提供的简单定制JS下拉列表 这是我应该用react原生视图和一些状态来创建自己的东西吗?我仍在试图了解哪些解决方案是不现实的。谁能给我举个专业项目的例子 我试图从这里避免使用本机选择器,因为我无法根据设计师的需要对它们进行样式设置 我试过这个软件包,但它似乎有问题的最新版本,我需要一些可靠的。Javascript React本机自定义跨平台下拉列表选择元素,javascript,react-native,Javascript,React Native,我找得很彻底,运气不太好。我很难为我的应用程序实现一个简单的自定义下拉选择元素 我希望有一个跨平台的iOS和Android解决方案,比如这里提供的简单定制JS下拉列表 这是我应该用react原生视图和一些状态来创建自己的东西吗?我仍在试图了解哪些解决方案是不现实的。谁能给我举个专业项目的例子 我试图从这里避免使用本机选择器,因为我无法根据设计师的需要对它们进行样式设置 我试过这个软件包,但它似乎有问题的最新版本,我需要一些可靠的。 我也在看这个软件包,因为它似乎几乎完美地满足了我的需求,但它在2
我也在看这个软件包,因为它似乎几乎完美地满足了我的需求,但它在2年内没有更新过我在我的项目中使用了这个软件包,它工作得非常完美: 您可以使用onFocus道具通过单击将其下拉,而不是在用户首次键入时使用ondediting道具在用户选择选项时将其隐藏 这是我的完整实现供参考,我必须深入代码检查这些道具,因为文档中没有包含它
<Autocomplete
data={filterNames()}
placeholder={'Who are you here to see?'}
onChangeText={item => setTextAndShowResults(item)}
onFocus={() => setHideResults(false)}
onEndEditing={() => setHideResults(true)}
defaultValue={getDefaultValue()}
keyExtractor={(item, i) => {
return item.id;
}}
returnKeyType={'next'}
listStyle={styles.listStyle}
inputContainerStyle={styles.borderWidth0}
style={styles.autoCompleteButtonStyle}
hideResults={hideResults}
renderItem={({ item, i }) => (
<TouchableOpacity onPress={() => setTextAndHideResults(item)}>
<Text style={styles.listTextStyle}>{item.name}</Text>
</TouchableOpacity>
)}
/>
我在我的项目中使用了这个,它非常有效: 您可以使用onFocus道具通过单击将其下拉,而不是在用户首次键入时使用ondediting道具在用户选择选项时将其隐藏 这是我的完整实现供参考,我必须深入代码检查这些道具,因为文档中没有包含它
<Autocomplete
data={filterNames()}
placeholder={'Who are you here to see?'}
onChangeText={item => setTextAndShowResults(item)}
onFocus={() => setHideResults(false)}
onEndEditing={() => setHideResults(true)}
defaultValue={getDefaultValue()}
keyExtractor={(item, i) => {
return item.id;
}}
returnKeyType={'next'}
listStyle={styles.listStyle}
inputContainerStyle={styles.borderWidth0}
style={styles.autoCompleteButtonStyle}
hideResults={hideResults}
renderItem={({ item, i }) => (
<TouchableOpacity onPress={() => setTextAndHideResults(item)}>
<Text style={styles.listTextStyle}>{item.name}</Text>
</TouchableOpacity>
)}
/>
我的建议是使用一些东西,因为我通常会让实现更快,尽管正如您所说,在样式方面可能会有一个折衷 我最近遇到过几次这样的情况,我真的不得不努力寻找React Native的好的、维护的组件,但它们确实存在 最近,我成功地使用了react本地纸张。你可以考虑他们的手风琴下拉列表,但可能不适合风格,因为它遵循材料UI指南。
我的建议是使用一些东西,因为我通常会让实现更快,尽管正如您所说,在样式方面可能会有一个折衷 我最近遇到过几次这样的情况,我真的不得不努力寻找React Native的好的、维护的组件,但它们确实存在 最近,我成功地使用了react本地纸张。你可以考虑他们的手风琴下拉列表,但可能不适合风格,因为它遵循材料UI指南。
我也在看那个包,但它似乎是一个搜索输入,我需要一个HTML select元素类型的东西。@TaylorA.Leach检查编辑,还有一些他们在文档中没有提到的道具,可以让你这样设置。我让它工作起来了,看起来很好,只是我得到了组件WillReceiveProps折旧警告,这总是一个拖延。@TaylorA.Leach Ya我分叉并编辑了它来摆脱它。不管怎样,你能接受我的回答吗?努力把我的观点表达出来,谢谢!很酷,我只是把自己的组件作为输入渲染!我认为这会很有效!谢谢。我也在看那个包,但它似乎是一个搜索输入,我需要一个HTML选择元素类型的东西。@TaylorA.Leach检查编辑,还有一些他们在文档中没有提到的道具,可以让你这样设置。我让它工作起来了,看起来很好,只是我得到了组件WillReceiveProps折旧警告,这总是一个拖延。@TaylorA.Leach Ya我分叉并编辑了它来摆脱它。不管怎样,你能接受我的回答吗?努力把我的观点表达出来,谢谢!很酷,我只是把自己的组件作为输入渲染!我认为这会很有效!谢谢