我想基本上检查一下是否可以按下下一个,即达到下一个条件。如果不是,我想留在当前步骤。我有条件地使用 Joyride。
const handleJoyrideCallback = (data: CallBackProps): void => {
const { action, index, status, type } = data;
// console.log(stepIndex);
if (index === 0 && action === ACTIONS.NEXT) {
const proceedButtonDisabled = document.getElementsByClassName(
'btn-disabled'
);
if (proceedButtonDisabled.length) {
console.log('No campaign selected');
console.log(helpers.info());
// helpers.reset(true);
// helpers.go(0);
helpers.prev();
setStepIndex(stepIndex - 1);
// return;
}
const proceedButton: any = document.getElementsByClassName(
'btn button-height btn-primary'
);
console.log('Campaign selected with button ');
proceedButton[0].click();
}
console.groupCollapsed(type);
console.log(data); // eslint-disable-line no-console
console.groupEnd();
};
如您所见,我正在检查是否存在特定元素(按钮),如果是,我想单击它。那部分工作得很好。但如果它不存在,我想保持在同一步骤直到它存在。我尝试将步骤索引设置为相同的索引并使用助手。我什至尝试将运行状态设置为 false,然后设置为 true。似乎不起作用。有什么解决办法吗?