【发布时间】:2020-08-07 13:31:21
【问题描述】:
如果输入无效,我正在触发 onBlur javascript 函数将输入的边框变为红色。
除了 Datepicker 之外,这一切正常。
我可以使用类名设置其边框的样式,但我需要使用内联样式来使其根据输入的内容进行更改。我该怎么做?
我的代码:
state= {
borderColors:{
startDetails: 'none',
}
}
borderColor = (e, field) => {
e.preventDefault()
let borderColors = this.state.borderColors
e.target.value === '' ? borderColors[field] = 'tomato' : borderColors[field] = '#00988f'
this.setState({borderColors})
}
<DatePicker
className="datePicker"
timeIntervals={15}
selected={values.startDetails}
onBlur = {event => this.borderColor(event, 'startDetails')}
onChange={(event) => this.props.changeField(event, "startDetails")}
showTimeSelect
dateFormat="d MMM yyyy HH:mm"
required
placeholderText={'Date & Time Event Starts'}
style={{borderColor: this.state.borderColors.startDetails}}
/>
【问题讨论】:
-
请分享此组件文档的链接
-
尝试字符串文字
style={{borderColor: ${`this.state.borderColors.startDetails`}}} -
不幸的是,字符串文字不起作用。
标签: css reactjs datepicker onblur inline-styles