reactjs - 如何为“react-select”实现字段验证
问题描述
我需要对“react-select”(github repo)进行简单的“必需”验证。在最新版本中,它使用 css-in-js 方法。所以我有自定义样式:
export const customStyles = {
control: (base, state) => ({
...base,
}),
menu: (base, state) => ({
...base,
}),
menuList: (base, state) => ({
...base,
}),
}
borderColor
如果字段无效,我该如何更改?
解决方案
在这一点上, GitHub 上打开了一个问题。
我看到两种不同的方法:
- “懒惰”,您可以通过添加特定的
className
. 这里的例子。 - 由于您想自定义原始选择,我建议您将其嵌入
customSelect
到单独的文件中。然后你可以传递一个道具isValid
并用它来改变你的borderColor
.
class CustomSelect extends React.Component {
render() {
const {
isValid
} = this.props
const customStyles = {
control: (base, state) => ({
...base,
// state.isFocused can display different borderColor if you need it
borderColor: state.isFocused ?
'#ddd' : isValid ?
'#ddd' : 'red',
// overwrittes hover style
'&:hover': {
borderColor: state.isFocused ?
'#ddd' : isValid ?
'#ddd' : 'red'
}
})
}
return <Select styles={ customStyles } {...this.props}/>
}
}
推荐阅读
- c# - 尝试查找和替换文本时遇到问题
- php - 方法 Illuminate\Database\Eloquent\Collection::hasRole 不存在。拉拉维尔
- rebus - Rebus 5.3.1:在发送处理程序完成执行后立即接收到以块形式发送的响应
- python-3.x - plot 函数不绘制曲线,只是在 PyCharm 中绘制图例
- r - 使用 doc_id 将 doc_topic_distr 与 DTM 原始数据连接起来
- react-native - 没有找到 React/RCTBridge.h' 文件?
- ios - 我无法加载动画,并且在加载请求后无法将其删除
- javascript - 在 Wordpress 中排队外部 JS 和 CSS
- amazon-web-services - Terraform 远程执行失败,权限被拒绝
- python - 如何对图像数据集进行探索性数据分析以进行目标检测?