/** * Created by Dailer on 2017/7/11. */ Demo.TextValueCombo = BI.inherit(BI.Widget, { props: { baseCls: "" }, render: function () { var combo, wrapper; var items = [{ text: "MVC-1", iconCls: "date-font", value: 1 }, { text: "MVC-2", iconCls: "search-font", value: 2 }, { text: "MVC-3", iconCls: "pull-right-font", value: 3 }]; // 创建下拉框各种场景用例 return { type: "bi.vertical", vgap: 20, hgap: 20, items: [ this.createCombo("无初始值,带提示文字", { type: "bi.text_value_combo", ref: function () { combo = this; }, defaultText: "请选择", width: 300, items: items, listeners: [ { eventName: BI.TextValueCombo.EVENT_CHANGE, action: function () { console.log(this.getValue()); } } ] }), this.createCombo("自动根据value匹配text", { type: "bi.text_value_combo", ref: function () { combo = this; }, defaultText: "请选择", width: 300, value: 1, items: items, listeners: [ { eventName: BI.TextValueCombo.EVENT_CHANGE, action: function () { console.log(this.getValue()); } } ] }), this.createCombo("无初始值,可以清空", { type: "bi.text_value_combo", ref: function () { combo = this; }, defaultText: "请选择", width: 300, items: items, allowClear: true, listeners: [ { eventName: BI.TextValueCombo.EVENT_CHANGE, action: function () { console.log(this.getValue()); } } ] }), this.createCombo("有初始值,可以清空", { type: "bi.text_value_combo", ref: function () { combo = this; }, defaultText: "请选择", width: 300, value: 1, items: items, allowClear: true, listeners: [ { eventName: BI.TextValueCombo.EVENT_CHANGE, action: function () { console.log(this.getValue()); } } ] }), this.createCombo("有初始值,value不匹配,自动标红,可以清空", { type: "bi.text_value_combo", ref: function () { combo = this; }, defaultText: "请选择", width: 300, value: 111, items: items, allowClear: true, listeners: [ { eventName: BI.TextValueCombo.EVENT_CHANGE, action: function () { console.log(this.getValue()); } } ] }), this.createCombo("有初始值,value不匹配,自动标红,指定标红文字", { type: "bi.text_value_combo", ref: function () { combo = this; }, width: 300, text: "MVC-111", value: 111, items: items, allowClear: true, defaultText: "df", listeners: [ { eventName: BI.TextValueCombo.EVENT_CHANGE, action: function () { console.log(this.getValue()); } } ] }) ] }; }, createCombo: function (text, combo) { return { type: "bi.vertical", items: [ { el: { type: "bi.label", textAlign: "left", text, }, bgap: 10 }, { el: combo } ] }; } }); BI.shortcut("demo.text_value_combo", Demo.TextValueCombo);