class ScreenReaderMessage extends BcReactComponent {
constructor (props) {
super(props);
}
handleCopy (e) {
console.log('Hello world');
e.preventDefault();
e.stopPropagation();
}
render () {
const { id, className, ...props } = this.props;
const fullClassName = className ? `sr-only ${className}` : 'sr-only ok';
return (
<span className={fullClassName} id={id} {...props}
onCopy={(e)=>this.handleCopy(e)}
onContextMenu={(e)=>this.handleCopy(e)}
>
{this.props.children}
</span>
);
}
}
ScreenReaderMessage.propTypes = {
id: PropTypes.string,
localeKey: PropTypes.string,
children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired
};
export default ScreenReaderMessage;
Надеюсь, что это поможет ..
Вам нужен конструктор без параметров, и я считаю, что у свойств должны быть общедоступные установщики. Связыватель по умолчанию создает объект с помощью конструктора, который не принимает параметров, а затем использует отражение в общедоступных свойствах для установки значений из параметров формы / запроса.
public class SampleFormViewModel
{
public SampleFormViewModel() { }
public SelectList Companies { get; set; }
public Widget Widget { get; set; }
}
Я подозреваю, что на самом деле вы действительно хотите получить не модель представления, а базовую модель виджета и выбрать значение списка в сообщении формы. Я не думаю, что связыватель сможет реконструировать SelectList при публикации, так как он имеет только выбранное значение в параметрах.
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Edit( int CompanyID, Widget widget )
{
}