Repeater will not show data on subsequent REST api calls.

I have a a repeater that is populated from the results of an api call to our REST endpoint. The search is triggered from a form above with a few drop downs for state, type, etc. The search works fine until i return an empty result set which empties the repeater, hides it and then shows a text element.

I should add i have tested the endpoint extensively and using my ARC client it never fails to return a result set. I have also confirmed, in the code below, the result set is in fact returned. Through extensive debugging I have verified the repeater.onItemReady method is called with the new data but it is simply not showing.

See my relevant code snippet below, any thoughts?


$w.onReady( function () {
$w(“#campResults”).onItemReady(($w, itemData, index) => {
$w(“#title”).text = itemData.title;
$w(“#campLocation”).text = itemData.campLocation;
$w(“#campDates”).text = itemData.campDates;
$w(“#orgUrl”).text = itemData.orgUrl;
$w(“#description”).text = itemData.title;
$w(“#orgLogo”).src = itemData.logo_url;
});
});
export function searchButton_click(event) {
$w(‘#noResults’).hide();
$w(“#searchingImage”).show();
let url = ‘http://api.timeforcamp.com/api/v1/camps?city=’ + $w(“#textCity”).value + ‘&state=’ + $w(“#textState”).value + ‘&category=’ + $w(“#textCategory”).value;
get(url, ‘’)
.then((json) => {
if (json.data === undefined || json.data.length === 0 ){
$w(“#campResults”).data = ;
$w(“#campResults”).hide();
$w(‘#noResults’).show();
} else {
let camps = ;
json.data.forEach((item) => {
let camp = { “_id”: item.id,
“title”: item.attributes.title,
“campLocation”: item.attributes[‘formatted-city-state-string’],
“campDates”: item.attributes[‘formatted-date-string’],
“gender”: item.attributes[‘formatted_gender_string’],
“skill-level”: item.attributes[‘formatted-skill-level-string’],
“orgUrl”: item.attributes[‘formatted-organization-name’],
“organization_url”: item.attributes[‘formatted-organization-url’],
“logo_url”: item.attributes[‘formatted-logo-url’].slice(1,-1)
};
camps.push(camp);
});
$w(“#campResults”).data = ;
$w(“#campResults”).data = camps;
$w(‘#campResults’).show();
}
$w(“#searchingImage”).hide();
});
}