【发布时间】:2017-12-17 06:55:56
【问题描述】:
尝试为选择字段设置控件,但即使设置了placeholder,它仍然始终自动选择列表中的第一项。
看起来像这样……
export function renderSelector({input, label, placeholder, meta:{touched, warning, error}, title, mandatory, fieldValues, fieldItemKeyFunc, fieldItemLabelFunc, props}) {
const mappedData = fieldValues.map(v => ({Id: fieldItemKeyFunc(v), Name: fieldItemLabelFunc(v)}));
let custom = props || {};
return (
<FormGroup controlId={input.name} validationState={touched && error ? 'error' : null}>
<Col xs={12}>
{renderLabel(title, label, mandatory)}
</Col>
<Col xs={12}>
<FormControl componentClass="select" placeholder={placeholder} name={input.name} {...input} {...custom}>
{
mappedData.map((item, index) => {
return (
<option key={index} value={item.Id}>{item.Name}</option>
)
})
}
</FormControl>
<FormControl.Feedback/>
{renderErrBlock(touched, warning, error)}
</Col>
</FormGroup>
);
}
当这个呈现时,选择器总是从选择的第一个项目开始,而不是占位符。我怎样才能解决这个问题??我尝试只添加一个默认的第一个选项并调整 css,但对于辅助功能来说效果不佳,因为对比度级别
【问题讨论】: