diff --git a/dist/2.0/fineui.ie.js b/dist/2.0/fineui.ie.js
index 909d9cff51..8b49eaee03 100644
--- a/dist/2.0/fineui.ie.js
+++ b/dist/2.0/fineui.ie.js
@@ -36069,16 +36069,21 @@ BI.Text = BI.inherit(BI.Single, {
         }
     },
 
-    mounted: function () {
+    _getShowText: function () {
         var o = this.options;
+        return BI.isFunction(o.text) ? o.text() : o.text;
+    },
 
-        if (BI.isKey(o.text)) {
-            this.setText(o.text);
+    mounted: function () {
+        var o = this.options;
+        var text = this._getShowText();
+        if (BI.isKey(text)) {
+            this.setText(text);
         } else if (BI.isKey(o.value)) {
             this.setText(o.value);
         }
         if (BI.isKey(o.keyword)) {
-            this.text.element.__textKeywordMarked__(o.text, o.keyword, o.py);
+            this.text.element.__textKeywordMarked__(text, o.keyword, o.py);
         }
         if (o.highLight) {
             this.doHighLight();
@@ -36089,13 +36094,13 @@ BI.Text = BI.inherit(BI.Single, {
         var o = this.options;
         // render之后做的doredmark,这个时候虽然标红了,但是之后text mounted执行的时候并没有keyword
         o.keyword = keyword;
-        this.text.element.__textKeywordMarked__(o.text || o.value, keyword, o.py);
+        this.text.element.__textKeywordMarked__(this._getShowText() || o.value, keyword, o.py);
     },
 
     unRedMark: function () {
         var o = this.options;
         o.keyword = "";
-        this.text.element.__textKeywordMarked__(o.text || o.value, "", o.py);
+        this.text.element.__textKeywordMarked__(this._getShowText() || o.value, "", o.py);
     },
 
     doHighLight: function () {
@@ -36120,7 +36125,7 @@ BI.Text = BI.inherit(BI.Single, {
     setText: function (text) {
         BI.Text.superclass.setText.apply(this, arguments);
         this.options.text = text;
-        this.text.element.html(BI.htmlEncode(text));
+        this.text.element.html(BI.htmlEncode(this._getShowText()));
     }
 });
 
diff --git a/dist/2.0/fineui.js b/dist/2.0/fineui.js
index c676efe663..4db3d42474 100644
--- a/dist/2.0/fineui.js
+++ b/dist/2.0/fineui.js
@@ -36473,16 +36473,21 @@ BI.Text = BI.inherit(BI.Single, {
         }
     },
 
-    mounted: function () {
+    _getShowText: function () {
         var o = this.options;
+        return BI.isFunction(o.text) ? o.text() : o.text;
+    },
 
-        if (BI.isKey(o.text)) {
-            this.setText(o.text);
+    mounted: function () {
+        var o = this.options;
+        var text = this._getShowText();
+        if (BI.isKey(text)) {
+            this.setText(text);
         } else if (BI.isKey(o.value)) {
             this.setText(o.value);
         }
         if (BI.isKey(o.keyword)) {
-            this.text.element.__textKeywordMarked__(o.text, o.keyword, o.py);
+            this.text.element.__textKeywordMarked__(text, o.keyword, o.py);
         }
         if (o.highLight) {
             this.doHighLight();
@@ -36493,13 +36498,13 @@ BI.Text = BI.inherit(BI.Single, {
         var o = this.options;
         // render之后做的doredmark,这个时候虽然标红了,但是之后text mounted执行的时候并没有keyword
         o.keyword = keyword;
-        this.text.element.__textKeywordMarked__(o.text || o.value, keyword, o.py);
+        this.text.element.__textKeywordMarked__(this._getShowText() || o.value, keyword, o.py);
     },
 
     unRedMark: function () {
         var o = this.options;
         o.keyword = "";
-        this.text.element.__textKeywordMarked__(o.text || o.value, "", o.py);
+        this.text.element.__textKeywordMarked__(this._getShowText() || o.value, "", o.py);
     },
 
     doHighLight: function () {
@@ -36524,7 +36529,7 @@ BI.Text = BI.inherit(BI.Single, {
     setText: function (text) {
         BI.Text.superclass.setText.apply(this, arguments);
         this.options.text = text;
-        this.text.element.html(BI.htmlEncode(text));
+        this.text.element.html(BI.htmlEncode(this._getShowText()));
     }
 });
 
diff --git a/dist/base.js b/dist/base.js
index de1160b110..48342a1cab 100644
--- a/dist/base.js
+++ b/dist/base.js
@@ -602,16 +602,21 @@ BI.Text = BI.inherit(BI.Single, {
         }
     },
 
-    mounted: function () {
+    _getShowText: function () {
         var o = this.options;
+        return BI.isFunction(o.text) ? o.text() : o.text;
+    },
 
-        if (BI.isKey(o.text)) {
-            this.setText(o.text);
+    mounted: function () {
+        var o = this.options;
+        var text = this._getShowText();
+        if (BI.isKey(text)) {
+            this.setText(text);
         } else if (BI.isKey(o.value)) {
             this.setText(o.value);
         }
         if (BI.isKey(o.keyword)) {
-            this.text.element.__textKeywordMarked__(o.text, o.keyword, o.py);
+            this.text.element.__textKeywordMarked__(text, o.keyword, o.py);
         }
         if (o.highLight) {
             this.doHighLight();
@@ -622,13 +627,13 @@ BI.Text = BI.inherit(BI.Single, {
         var o = this.options;
         // render之后做的doredmark,这个时候虽然标红了,但是之后text mounted执行的时候并没有keyword
         o.keyword = keyword;
-        this.text.element.__textKeywordMarked__(o.text || o.value, keyword, o.py);
+        this.text.element.__textKeywordMarked__(this._getShowText() || o.value, keyword, o.py);
     },
 
     unRedMark: function () {
         var o = this.options;
         o.keyword = "";
-        this.text.element.__textKeywordMarked__(o.text || o.value, "", o.py);
+        this.text.element.__textKeywordMarked__(this._getShowText() || o.value, "", o.py);
     },
 
     doHighLight: function () {
@@ -653,7 +658,7 @@ BI.Text = BI.inherit(BI.Single, {
     setText: function (text) {
         BI.Text.superclass.setText.apply(this, arguments);
         this.options.text = text;
-        this.text.element.html(BI.htmlEncode(text));
+        this.text.element.html(BI.htmlEncode(this._getShowText()));
     }
 });
 
diff --git a/dist/bundle.ie.js b/dist/bundle.ie.js
index 909d9cff51..8b49eaee03 100644
--- a/dist/bundle.ie.js
+++ b/dist/bundle.ie.js
@@ -36069,16 +36069,21 @@ BI.Text = BI.inherit(BI.Single, {
         }
     },
 
-    mounted: function () {
+    _getShowText: function () {
         var o = this.options;
+        return BI.isFunction(o.text) ? o.text() : o.text;
+    },
 
-        if (BI.isKey(o.text)) {
-            this.setText(o.text);
+    mounted: function () {
+        var o = this.options;
+        var text = this._getShowText();
+        if (BI.isKey(text)) {
+            this.setText(text);
         } else if (BI.isKey(o.value)) {
             this.setText(o.value);
         }
         if (BI.isKey(o.keyword)) {
-            this.text.element.__textKeywordMarked__(o.text, o.keyword, o.py);
+            this.text.element.__textKeywordMarked__(text, o.keyword, o.py);
         }
         if (o.highLight) {
             this.doHighLight();
@@ -36089,13 +36094,13 @@ BI.Text = BI.inherit(BI.Single, {
         var o = this.options;
         // render之后做的doredmark,这个时候虽然标红了,但是之后text mounted执行的时候并没有keyword
         o.keyword = keyword;
-        this.text.element.__textKeywordMarked__(o.text || o.value, keyword, o.py);
+        this.text.element.__textKeywordMarked__(this._getShowText() || o.value, keyword, o.py);
     },
 
     unRedMark: function () {
         var o = this.options;
         o.keyword = "";
-        this.text.element.__textKeywordMarked__(o.text || o.value, "", o.py);
+        this.text.element.__textKeywordMarked__(this._getShowText() || o.value, "", o.py);
     },
 
     doHighLight: function () {
@@ -36120,7 +36125,7 @@ BI.Text = BI.inherit(BI.Single, {
     setText: function (text) {
         BI.Text.superclass.setText.apply(this, arguments);
         this.options.text = text;
-        this.text.element.html(BI.htmlEncode(text));
+        this.text.element.html(BI.htmlEncode(this._getShowText()));
     }
 });
 
diff --git a/dist/bundle.js b/dist/bundle.js
index c676efe663..4db3d42474 100644
--- a/dist/bundle.js
+++ b/dist/bundle.js
@@ -36473,16 +36473,21 @@ BI.Text = BI.inherit(BI.Single, {
         }
     },
 
-    mounted: function () {
+    _getShowText: function () {
         var o = this.options;
+        return BI.isFunction(o.text) ? o.text() : o.text;
+    },
 
-        if (BI.isKey(o.text)) {
-            this.setText(o.text);
+    mounted: function () {
+        var o = this.options;
+        var text = this._getShowText();
+        if (BI.isKey(text)) {
+            this.setText(text);
         } else if (BI.isKey(o.value)) {
             this.setText(o.value);
         }
         if (BI.isKey(o.keyword)) {
-            this.text.element.__textKeywordMarked__(o.text, o.keyword, o.py);
+            this.text.element.__textKeywordMarked__(text, o.keyword, o.py);
         }
         if (o.highLight) {
             this.doHighLight();
@@ -36493,13 +36498,13 @@ BI.Text = BI.inherit(BI.Single, {
         var o = this.options;
         // render之后做的doredmark,这个时候虽然标红了,但是之后text mounted执行的时候并没有keyword
         o.keyword = keyword;
-        this.text.element.__textKeywordMarked__(o.text || o.value, keyword, o.py);
+        this.text.element.__textKeywordMarked__(this._getShowText() || o.value, keyword, o.py);
     },
 
     unRedMark: function () {
         var o = this.options;
         o.keyword = "";
-        this.text.element.__textKeywordMarked__(o.text || o.value, "", o.py);
+        this.text.element.__textKeywordMarked__(this._getShowText() || o.value, "", o.py);
     },
 
     doHighLight: function () {
@@ -36524,7 +36529,7 @@ BI.Text = BI.inherit(BI.Single, {
     setText: function (text) {
         BI.Text.superclass.setText.apply(this, arguments);
         this.options.text = text;
-        this.text.element.html(BI.htmlEncode(text));
+        this.text.element.html(BI.htmlEncode(this._getShowText()));
     }
 });
 
diff --git a/dist/fineui.ie.js b/dist/fineui.ie.js
index 90d1a52c6f..8cd5d108ed 100644
--- a/dist/fineui.ie.js
+++ b/dist/fineui.ie.js
@@ -36314,16 +36314,21 @@ BI.Text = BI.inherit(BI.Single, {
         }
     },
 
-    mounted: function () {
+    _getShowText: function () {
         var o = this.options;
+        return BI.isFunction(o.text) ? o.text() : o.text;
+    },
 
-        if (BI.isKey(o.text)) {
-            this.setText(o.text);
+    mounted: function () {
+        var o = this.options;
+        var text = this._getShowText();
+        if (BI.isKey(text)) {
+            this.setText(text);
         } else if (BI.isKey(o.value)) {
             this.setText(o.value);
         }
         if (BI.isKey(o.keyword)) {
-            this.text.element.__textKeywordMarked__(o.text, o.keyword, o.py);
+            this.text.element.__textKeywordMarked__(text, o.keyword, o.py);
         }
         if (o.highLight) {
             this.doHighLight();
@@ -36334,13 +36339,13 @@ BI.Text = BI.inherit(BI.Single, {
         var o = this.options;
         // render之后做的doredmark,这个时候虽然标红了,但是之后text mounted执行的时候并没有keyword
         o.keyword = keyword;
-        this.text.element.__textKeywordMarked__(o.text || o.value, keyword, o.py);
+        this.text.element.__textKeywordMarked__(this._getShowText() || o.value, keyword, o.py);
     },
 
     unRedMark: function () {
         var o = this.options;
         o.keyword = "";
-        this.text.element.__textKeywordMarked__(o.text || o.value, "", o.py);
+        this.text.element.__textKeywordMarked__(this._getShowText() || o.value, "", o.py);
     },
 
     doHighLight: function () {
@@ -36365,7 +36370,7 @@ BI.Text = BI.inherit(BI.Single, {
     setText: function (text) {
         BI.Text.superclass.setText.apply(this, arguments);
         this.options.text = text;
-        this.text.element.html(BI.htmlEncode(text));
+        this.text.element.html(BI.htmlEncode(this._getShowText()));
     }
 });
 
diff --git a/dist/fineui.js b/dist/fineui.js
index cc65f63013..cd7b4a9979 100644
--- a/dist/fineui.js
+++ b/dist/fineui.js
@@ -36718,16 +36718,21 @@ BI.Text = BI.inherit(BI.Single, {
         }
     },
 
-    mounted: function () {
+    _getShowText: function () {
         var o = this.options;
+        return BI.isFunction(o.text) ? o.text() : o.text;
+    },
 
-        if (BI.isKey(o.text)) {
-            this.setText(o.text);
+    mounted: function () {
+        var o = this.options;
+        var text = this._getShowText();
+        if (BI.isKey(text)) {
+            this.setText(text);
         } else if (BI.isKey(o.value)) {
             this.setText(o.value);
         }
         if (BI.isKey(o.keyword)) {
-            this.text.element.__textKeywordMarked__(o.text, o.keyword, o.py);
+            this.text.element.__textKeywordMarked__(text, o.keyword, o.py);
         }
         if (o.highLight) {
             this.doHighLight();
@@ -36738,13 +36743,13 @@ BI.Text = BI.inherit(BI.Single, {
         var o = this.options;
         // render之后做的doredmark,这个时候虽然标红了,但是之后text mounted执行的时候并没有keyword
         o.keyword = keyword;
-        this.text.element.__textKeywordMarked__(o.text || o.value, keyword, o.py);
+        this.text.element.__textKeywordMarked__(this._getShowText() || o.value, keyword, o.py);
     },
 
     unRedMark: function () {
         var o = this.options;
         o.keyword = "";
-        this.text.element.__textKeywordMarked__(o.text || o.value, "", o.py);
+        this.text.element.__textKeywordMarked__(this._getShowText() || o.value, "", o.py);
     },
 
     doHighLight: function () {
@@ -36769,7 +36774,7 @@ BI.Text = BI.inherit(BI.Single, {
     setText: function (text) {
         BI.Text.superclass.setText.apply(this, arguments);
         this.options.text = text;
-        this.text.element.html(BI.htmlEncode(text));
+        this.text.element.html(BI.htmlEncode(this._getShowText()));
     }
 });
 
diff --git a/dist/fineui_without_jquery_polyfill.js b/dist/fineui_without_jquery_polyfill.js
index 1859128d11..a166b606ba 100644
--- a/dist/fineui_without_jquery_polyfill.js
+++ b/dist/fineui_without_jquery_polyfill.js
@@ -25149,16 +25149,21 @@ BI.Text = BI.inherit(BI.Single, {
         }
     },
 
-    mounted: function () {
+    _getShowText: function () {
         var o = this.options;
+        return BI.isFunction(o.text) ? o.text() : o.text;
+    },
 
-        if (BI.isKey(o.text)) {
-            this.setText(o.text);
+    mounted: function () {
+        var o = this.options;
+        var text = this._getShowText();
+        if (BI.isKey(text)) {
+            this.setText(text);
         } else if (BI.isKey(o.value)) {
             this.setText(o.value);
         }
         if (BI.isKey(o.keyword)) {
-            this.text.element.__textKeywordMarked__(o.text, o.keyword, o.py);
+            this.text.element.__textKeywordMarked__(text, o.keyword, o.py);
         }
         if (o.highLight) {
             this.doHighLight();
@@ -25169,13 +25174,13 @@ BI.Text = BI.inherit(BI.Single, {
         var o = this.options;
         // render之后做的doredmark,这个时候虽然标红了,但是之后text mounted执行的时候并没有keyword
         o.keyword = keyword;
-        this.text.element.__textKeywordMarked__(o.text || o.value, keyword, o.py);
+        this.text.element.__textKeywordMarked__(this._getShowText() || o.value, keyword, o.py);
     },
 
     unRedMark: function () {
         var o = this.options;
         o.keyword = "";
-        this.text.element.__textKeywordMarked__(o.text || o.value, "", o.py);
+        this.text.element.__textKeywordMarked__(this._getShowText() || o.value, "", o.py);
     },
 
     doHighLight: function () {
@@ -25200,7 +25205,7 @@ BI.Text = BI.inherit(BI.Single, {
     setText: function (text) {
         BI.Text.superclass.setText.apply(this, arguments);
         this.options.text = text;
-        this.text.element.html(BI.htmlEncode(text));
+        this.text.element.html(BI.htmlEncode(this._getShowText()));
     }
 });
 
diff --git a/src/base/single/text.js b/src/base/single/text.js
index 0ed1123c25..0a1f9c306d 100644
--- a/src/base/single/text.js
+++ b/src/base/single/text.js
@@ -75,16 +75,21 @@ BI.Text = BI.inherit(BI.Single, {
         }
     },
 
-    mounted: function () {
+    _getShowText: function () {
         var o = this.options;
+        return BI.isFunction(o.text) ? o.text() : o.text;
+    },
 
-        if (BI.isKey(o.text)) {
-            this.setText(o.text);
+    mounted: function () {
+        var o = this.options;
+        var text = this._getShowText();
+        if (BI.isKey(text)) {
+            this.setText(text);
         } else if (BI.isKey(o.value)) {
             this.setText(o.value);
         }
         if (BI.isKey(o.keyword)) {
-            this.text.element.__textKeywordMarked__(o.text, o.keyword, o.py);
+            this.text.element.__textKeywordMarked__(text, o.keyword, o.py);
         }
         if (o.highLight) {
             this.doHighLight();
@@ -95,13 +100,13 @@ BI.Text = BI.inherit(BI.Single, {
         var o = this.options;
         // render之后做的doredmark,这个时候虽然标红了,但是之后text mounted执行的时候并没有keyword
         o.keyword = keyword;
-        this.text.element.__textKeywordMarked__(o.text || o.value, keyword, o.py);
+        this.text.element.__textKeywordMarked__(this._getShowText() || o.value, keyword, o.py);
     },
 
     unRedMark: function () {
         var o = this.options;
         o.keyword = "";
-        this.text.element.__textKeywordMarked__(o.text || o.value, "", o.py);
+        this.text.element.__textKeywordMarked__(this._getShowText() || o.value, "", o.py);
     },
 
     doHighLight: function () {
@@ -126,7 +131,7 @@ BI.Text = BI.inherit(BI.Single, {
     setText: function (text) {
         BI.Text.superclass.setText.apply(this, arguments);
         this.options.text = text;
-        this.text.element.html(BI.htmlEncode(text));
+        this.text.element.html(BI.htmlEncode(this._getShowText()));
     }
 });