首先,请看一下代码。
const [detailTitle, setDetailTitle] = useState(actionItemArray[activeRow].TITLE);
const [detailDesc, setDetailDesc] = useState(actionItemArray[activeRow].DESCRIPTION);
//Unix time 변환 함수
function getUnixTime(t) {
const date = new Date(t * 1000);
const year = date.getFullYear();
const month = '0' + (date.getMonth() + 1);
const day = '0' + date.getDate();
return year.toString().substr(-2) + '-' + month.substr(-2) + '-' + day.substr(-2);
}
const [detailStartDate, setDetailStartDate] = useState(getUnixTime(actionItemArray[activeRow].START_DATE));
const [detailDueDate, setDetailDueDate] = useState(getUnixTime(actionItemArray[activeRow].DUE_DATE));
const [detailPriority, setDetailPriority] = useState(actionItemArray[activeRow].P_PK);
const [detailStep, setDetailStep] = useState(actionItemArray[activeRow].STEP_PK);
const [disabled, setDisabled] = useState(true);
const [disableTag, setDisableTag] = useState(true);
const detailTitleChange = (e) => {
setDetailTitle(e.target.value);
};
const detailDescChange = (e) => {
setDetailDesc(e.target.value);
};
const detailStartDateChange = (e) => {
setDetailStartDate(e.target.value)
};
const detailDueDateChange = (e) => {
setDetailDueDate(e.target.value)
};
对于优先级和步骤,我给出了onChange事件,因为它是一个选择表单。
const updateActionItem = () => {
const url = '/api/work/update-action-item';
const data = {
ACTION_PK : actionItemArray[activeRow].ACTION_PK,
OWNER_PK : actionItemArray[activeRow].owner.USER_PK,
TITLE : detailTitle,
DESCRIPTION: detailDesc,
START_DATE : detailStartDate,
DUE_DATE : detailDueDate,
P_PK : detailPriority,
STEP_PK : detailStep,
updateCols: ['TITLE', 'DESCRIPTION']
};
post(url, data)
.then((res) => {
alert('수정되었습니다');
console.log(res);
})
.catch((error) => {
console.log(error)
});
};
此函数用于POST请求。我将每个编辑的数据发送到DB。
但是数据对象,您可以看到updateCols:[]。
在这个数组中,我必须放置已更改的属性。
例如,如果我更改标题、说明和开始日期,我必须将数组更改为
updateCols : ['TITLE', 'DESCRIPTION', START_DATE]
我觉得不可能每次都能查到这张申请表,所以我觉得这张申请表有问题。
有人可能只编辑标题,有人可能编辑每个属性。这意味着我必须有条件地更改POST申请表。
我需要一些智慧。请帮助!
像这样的?
const [old, setOld] = useState({});
const updateActionItem = () => {
const url = '/api/work/update-action-item';
let data = {
ACTION_PK : actionItemArray[activeRow].ACTION_PK,
OWNER_PK : actionItemArray[activeRow].owner.USER_PK,
TITLE : detailTitle,
DESCRIPTION: detailDesc,
START_DATE : detailStartDate,
DUE_DATE : detailDueDate,
P_PK : detailPriority,
STEP_PK : []
};
data.ACTION_PK!==old.ACTION_PK?data.STEP_PK.push('ACTION_PK'):null;
data.OWNER_PK!==old.OWNER_PK?data.STEP_PK.push('OWNER_PK'):null;
data.TITLE!==old.TITLE?data.STEP_PK.push('TITLE'):null;
data.DESCRIPTION!==old.DESCRIPTION?data.STEP_PK.push('DESCRIPTION'):null;
data.START_DATE!==old.START_DATE?data.STEP_PK.push('START_DATE'):null;
data.DUE_DATE!==old.DUE_DATE?data.STEP_PK.push('DUE_DATE'):null;
data.P_PK!==old.P_PK?data.STEP_PK.push('P_PK'):null;
setOld(data);
post(url, data)
.then((res) => {
alert('수정되었습니다');
console.log(res);
})
.catch((error) => {
console.log(error)
});
};
问题内容: 我想在浏览器遵循ui-router动态创建的链接之前验证某些条件。 我正在调查,但无法从那里访问。我还需要在应用程序中的多个地方使用它,这会很麻烦。 请记住,它链接到(一起工作),因此我无法删除,也不能在称为with的函数内使用。 应该在a 和on 内评估条件(在转换之前,可以取消条件) 我需要这样的东西: 我试过了: 和 甚至 但是不起作用。 沙盒 问题答案: 这个答案激发了我创建一
问题内容: 我有一个组件,有时有时需要呈现为和,有时需要呈现为。在我读来确定这一点,是。 如果存在,则需要将组件包装在中。否则,它将仅呈现为。 可能? 这是我现在正在做的,但是感觉可以简化: 更新: 这是最终的锁定。感谢您的提示,@ Sulthan! 问题答案: 只需使用一个变量。 或者,您可以使用辅助函数来呈现内容。JSX和其他代码一样。如果要减少重复,请使用函数和变量。
问题内容: 我需要能够在我们的Jenkins Pipeline构建过程中创建简单的HTTP POST请求。但是,我不能使用简单的curl sh脚本,因为我需要它在Windows和Linux节点上工作,并且如果可以避免的话,我不希望在节点上执行更多的工具安装。 我们正在使用的Pipeline插件中使用的Groovy库对于此任务应该是完美的。Groovy有一个扩展名,可以执行简单的POST,称为htt
我需要能够在我们的Jenkins管道构建期间创建简单的HTTP POST请求。但是我不能使用简单的curl sh脚本,因为我需要它在Windows和Linux节点上工作,如果我可以避免的话,我不希望在节点上强制安装更多的工具。 我们正在使用的管道插件中使用的Groovy库应该非常适合此任务。Groovy有一个扩展来执行简单的POST,称为http builder,但我一生都无法在Jenkins的G
我有问题动态添加jsx表行到表中的反应。 我的案例如下: 如果表行包含子行,请将它们添加到主行之外。 这是我最初的设计: 问题是不允许div作为tbody标记中的子级。你知道我怎样才能不把我的报税单写进div里就解决这个问题吗? 我在考虑将整个tbody移动到我的行组件,并有条件地在那里渲染子行,但是我看不出这有什么帮助,因为我仍然不能在返回周围使用任何包装器...我唯一能使用的包装器是tbody
我对使用REST调用是新手。我有一个文件在我的项目中。 该文件的内容是: Java代码: 例外:java.io.IOException:服务器返回HT 在Soap Ui,添加的endpoint和以上内容 如何读取json内容并将其作为java中的请求正文传递?