PlaceHolder 属性不适用于 SimpleTextarea 和 ValidationTextBox 的混合

PlaceHolder attribute no working for mixin of SimpleTextarea and ValidationTextBox

您好,我在 Stack Overflow 上使用 example 来创建自定义 ValidationTextArea 小部件。我遇到的问题是新的自定义小部件不显示 placeHolder 属性。

自定义小部件的代码是:

define(["dojo/_base/declare", "dojo/_base/lang", "dijit/form/SimpleTextarea", "dijit/form/ValidationTextBox"],
function (declare, lang, SimpleTextarea, ValidationTextBox) {

        return declare('dijit.form.ValidationTextArea', [SimpleTextarea, ValidationTextBox], {
            constructor: function (params) {
                this.constraints = {};
                this.baseClass += ' dijitValidationTextArea';
            },
            templateString: "<textarea ${!nameAttrSetting} data-dojo-attach-point='focusNode,containerNode,textbox' autocomplete='off'></textarea>"
        })
    })

我的小部件的标记是:

<textarea data-dojo-type="Scripts/ValidationTextArea"
                                  data-dojo-attach-point="taProjectDescription" style="width:425px; height:75px"
                                  required='true'
                                  placeHolder="max 3000 characters"
                                  data-dojo-props="trim:true,maxLength:'3000'"></textarea>

是否需要向自定义小部件代码中添加一些内容才能使其显示占位符?我正在 chrome

上查看此内容

谢谢

您必须将占位符传递给您的新模板..

templateString:"<textarea ${!nameAttrSetting} 
  data-dojo-attach-point='focusNode,containerNode,textbox' 
  autocomplete='off' 
  placeHolder='${placeHolder}'>
  </textarea>"