首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将图片添加到Radio组中的每个Radio

将图片添加到Radio组中的每个Radio
EN

Stack Overflow用户
提问于 2016-12-12 08:37:49
回答 1查看 1.2K关注 0票数 11

我想要实现一个无线电按钮组,其中每个无线按钮将有一个图片在它旁边(在左边的单选按钮)。

这有可能吗?如果是这样的话,是怎么做的?

html:

代码语言:javascript
复制
<div class="form-group" show-errors>
    <label class="col-md-2 control-label metric-light-16-black pay-form-label">Payment Method</label>
    <div class="col-md-10" id="rdPaymentMethod">
        <label class="radio-group col-md-2">
            <span id="radio-group-1" style="margin-left: 0cm;"></span>
            <span class="radio" style="margin-left: 0cm;" />
            <img src="assets/images/card-mastercard.png" style="margin-left: 0cm;"/>

        </label>

        <label class="radio-group col-md-2">
            <span id="radio-group-2" style="margin-left: 0cm;"></span>
            <span class="radio"/>
            <img src="assets/images/card-viza.png"/>
        </label>

        <label class="radio-group col-md-2">
            <span id="radio-group-3" style="margin-left: 0cm;"></span>
            <span class="radio"/>
            <img src="assets/images/card-paypal.png"/>
        </label>
    </div>
</div>

javascript sap函数:

代码语言:javascript
复制
var placeRadioButtonAt = function(radioButtonId, containingDivId, selected) {
    elements.push(radioButtonId);
    var oRB1 = new sap.ui.commons.RadioButton(radioButtonId, {
        selected : (selected==true),
        select : function() {}
    });

    oRB1.placeAt(containingDivId);
}

3次调用此函数(每个单选按钮):

代码语言:javascript
复制
    placeRadioButtonAt("radio1","radio-group-1",true);
    placeRadioButtonAt("radio2","radio-group-2");
    placeRadioButtonAt("radio3","radio-group-3");

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-12 13:46:51

我将扩展RadioButton控件,允许在每个单选按钮中添加图像,并扩展RadioButtonGroup以允许将前面的扩展控件作为聚合添加。

OBS:css类呈现缺失,有关呈现器实现的更多细节可以找到https://sapui5.hana.ondemand.com/#docs/guide/91f393916f4d1014b6dd926db0e91070.html

假设

  1. 命名空间定义为my.appindex.html文件中。
  2. 在项目文件夹(webapp或WebContents)中,您为这些自定义控件创建了一个名为controls的文件夹。

RadioButton扩展

代码语言:javascript
复制
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扩展

代码语言:javascript
复制
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);
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41096925

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档