Это хорошо, если ваши данные конечны и статичны, или если массив данных всегда имеет одинаковую длину, как в меню.
Однако, если ваши данные являются динамическими, вам следует рассмотреть это решение:
var arrColors = [
{"skin": "whiteRowSkin"},
{"skin": "orangeRowSkin"},
{"skin": "blueRowSkin"},
{"skin": "yellowRowSkin"},
{"skin": "grayRowSkin"}
];
this.view.segCont.widgetDataMap = {
lblColor: "color"
// plus any other properties you need for this data.
};
// Lets assume this getData function fetches your dynamic data from a service.
var segData = getData();
for (var i = 0; i < segData.length; i++) {
var colorIndex = i % arrColors.length;
segData[i].color = arrColors[colorIndex];
};
this.view.segCont.setData(segData);
Ключом выше является оператор Модуль / Остаток %
, который позволяет динамически определять, какой из цветов / обложек в массиве обложек соответствует каждой строке данных, даже если размер массив данных варьируется.
Примечание: Это устраняет тот факт, что данные могут быть матричными, если вы используете сегменты сегментов.