0

我想基本上检查一下是否可以按下下一个,即达到下一个条件。如果不是,我想留在当前步骤。我有条件地使用 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。似乎不起作用。有什么解决办法吗?

4

0 回答 0