Fixed it -- I added a bool to my parent property to tell me whether this button belongs to to the start or end panel, and I check that bool in my callback.
Button {
id: action
buttonText: actionButtonLabel
onClicked: {
stackView.clear()
stackView.push(
actionComponent,
{
"listModel": scheduleActionPanel.actionModel,
"listIndex": isStartPanel ? newSchedule.startAction : newSchedule.endAction,
"buttonGroup": startStopGroup,
"titleText": scheduleActionPanel.actionTitle,
"callback": ((i) => {
if (isStartPanel) {
newSchedule.startAction = i
} else {
newSchedule.endAction = i
}
}
)
}
)
}
}
If necessary, the bool could be replaced by an int, and the callback logic made more elaborate.