Ответ 1
Я бы добавил элемент управления RadioButton для добавления изображений к каждому переключателю, а также расширил RadioButtonGroup, чтобы добавить предыдущий расширенный элемент управления в качестве агрегации.
OBS: отсутствует рендеринг классов CSS, более подробная информация о реализации средства визуализации может быть найдена здесь. p >
Предположения
- Пространство имен было определено как
my.app
внутри файлаindex.html
- В папке проекта (webapp или WebContents) вы создали папку для этих настраиваемых элементов управления под названием
controls
Расширение RadioButton
sap.ui.define(['jquery.sap.global', 'sap/m/Image', 'sap/m/RadioButton'
], function (jQuery, Image, RadioButton) {
"use strict";
var CustomRadioButton = RadioButton.extend("my.app.controls.RadioButtonImage", {
metadata: {
"properties": {
"imageSrc": "string"
},
},
renderer: function (oRm, oControl) {
var oImg = new Image({ src: oControl.getProperty("imageSrc") })
oRm.renderControl(oImg);
sap.m.RadioButtonRenderer.render(oRm,oControl);
}
});
return CustomRadioButton;
}, true);
Расширение RadioButtonGroup
sap.ui.define(['jquery.sap.global', 'sap/m/RadioButtonGroup'
], function (jQuery, RadioButtonGroup) {
"use strict";
var CustomRadioButtonGroup = RadioButtonGroup.extend("my.app.controls.RadioButtonGroup", {
metadata: {
aggregations: {
buttons : {type : "my.app.controls.RadioButtonImage", multiple : true, singularName : "button", bindable : "bindable"}
},
defaultAggregation : "buttons",
}
});
return CustomRadioButtonGroup;
}, true);