我試圖單擊記錄時提交更新表單,單擊日期選擇器時的新記錄表單以及更新/創建後都沒有。我有一個道具,根據名爲editMode
的用戶輸入動態更改其值。3渲染條件視圖
這裏是一個什麼樣的價值觀this.props.editMode
已經從不同的價值觀控制檯,除了this.props.events
顯示它不是空的,數組中甚至一個對象有一個匹配的ID爲recordId
發現this.props.editMode
<Create />
組件將呈現,但<Update />
組件將不會。我只在控制檯中發出警告。
警告:創建正在改變受控輸入的類型文本是不受控制的。輸入元素不應該從受控狀態切換到非受控狀態(反之亦然)。決定在組件的使用期限內使用受控或不受控制的輸入元素。
沒有錯誤。
import React from 'react';
import Create from './Event/Create';
import Update from './Event/Update';
class SideBar extends React.Component {
constructor() {
super();
this.renderEventForm = this.renderEventForm.bind(this);
}
renderEventForm() {
console.log(this.props.editMode);
console.log(this.props.events);
//if editMode state true, loop
// through events till until matching id
// place props into update component
if(this.props.editMode.state) {
const editRecordId = this.props.editMode.recordId;
return this.props.events.map((e) => {
if(e.Id === editRecordId) {
<div key={e.Id}>
<Update event={e} />
</div>
}
});
} else {
// render the create form
return(
<Create/>
)
}
}
render() {
return (
<div className="slds-p-bottom--small slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-1 slds-large-size--1-of-3">
{this.renderEventForm()}
</div>
);
}
}
export default SideBar;