當用戶單擊正方形時,它將變爲currentHtmlObject
。我希望人們能夠在右側邊欄中更新它的屬性。當用戶更改表單中的輸入時更新所選對象
我不知道如何採取一個單一的輸入字段,並更新一個對象的屬性,我在一個react-redux狀態下持有並更新主查看區域DrawingCanvas
。
我有點接近,我輸入表單的信息是激活我的減速器和動作。但我無法弄清楚如何區分left
和top
。
// React
import React from 'react'
export class RightSidebar extends React.Component {
constructor(props) {
super(props)
}
handleChange(evt) {
console.log(evt)
this.props.onUpdateCurrentHtmlObject(evt.target.value)
}
render() {
const { currentHtmlObject } = this.props
return (
<form>
{this.props.currentHtmlObject.id}
<div className="right-sidebar">
<div className="form-group">
<label>Position X</label>
<input
type="number"
name="left"
className="form-control"
value={this.props.currentHtmlObject.styles ? this.props.currentHtmlObject.styles.left : ''}
onChange={this.handleChange.bind(this)} />
</div>
<div className="form-group">
<label>Position Y</label>
<input
type="number"
className="form-control"
value={this.props.currentHtmlObject.styles ? this.props.currentHtmlObject.styles.top : ''}
onChange={this.handleChange.bind(this)} />
</div>
</div>
</form>
)
}
}
RightSidebar.defaultProps = {
currentHtmlObject: {
styles: {
left: null,
top: null
}
}
}
會不只是傳遞更多的數據到'onUpdateCurrentHtmlObject'回調?就像元素名稱一樣? – acjay