diff --git a/changelog.md b/changelog.md index 03776318e5..eccb28b37e 100644 --- a/changelog.md +++ b/changelog.md @@ -1,5 +1,6 @@ # 更新日志 2.0(2020-11) +- 增加纯文本组件bi.pure_text - store支持webworker,引入多线程机制 - 修复了Popover小屏幕上看不完整的问题 - 颜色选择器支持输入16进制颜色编号 diff --git a/src/base/single/text.pure.js b/src/base/single/text.pure.js new file mode 100644 index 0000000000..eb7f6e3238 --- /dev/null +++ b/src/base/single/text.pure.js @@ -0,0 +1,43 @@ +/** + * 没有html标签的纯文本 + */ +!(function () { + BI.PureText = BI.inherit(BI.Widget, { + + props: { + tagName: null + }, + + render: function () { + var self = this, o = this.options; + var text = this._getShowText(); + if (BI.isKey(text)) { + this.setText(text); + } else if (BI.isKey(o.value)) { + this.setText(o.value); + } + }, + + _getShowText: function () { + var o = this.options; + var text = BI.isFunction(o.text) ? o.text() : o.text; + text = BI.isKey(text) ? text : o.value; + if (!BI.isKey(text)) { + return ""; + } + return BI.Text.formatText(text + ""); + }, + + setValue: function (value) { + this.options.value = value; + this.setText(value); + }, + + setText: function (text) { + this.options.text = BI.isNotNull(text) ? text : ""; + this.element.__textKeywordMarked__(this._getShowText()); + } + }); + BI.shortcut("bi.pure_text", BI.PureText); +}()); + diff --git a/src/core/widget.js b/src/core/widget.js index c5aeca4994..6d8cb39290 100644 --- a/src/core/widget.js +++ b/src/core/widget.js @@ -610,7 +610,10 @@ if (o.element) { return BI.$(o.element); } - return BI.$(document.createElement(o.tagName)); + if (o.tagName) { + return BI.$(document.createElement(o.tagName)); + } + return BI.$(document.createDocumentFragment()); } return BI.$(widget); },