包装聚合物元素纸张输入的验证错误

时间:2015-11-27 05:45:03

标签: dart polymer dart-polymer polymer-elements

我注意到如果我的自定义Polymer 1.x元素的宽度比纸张输入元素上的验证错误消息的宽度窄,则错误溢出超出自定义元素的右边界。见下图:

enter image description here

是否有一种机制可以防止溢出,例如当文本到达自定义元素的边框时将其包裹起来?

由于

1 个答案:

答案 0 :(得分:2)

<dom-module id='app-element'>
  <template>
    <style>
      /* this style is only to reproduce the problem */
      :host {
        display: block;
        width: 60px;
        height: 100px;
        border: 3px solid green;
      }

您可以通过指定宽度

来剪辑太长的文本
      :root {
        --paper-input-error: {
          /*-o-text-overflow: ellipsis; // or clip*/
          /*text-overflow: ellipsis; // or clip */
          width: 60px;
        };
        --paper-input-container-invalid-color: orange;
      }

这样可以动态调整宽度,但可能会破坏其他内容(不知道)

      :root {
        --paper-input-container: {
          position: relative;
        };

        --paper-input-error: {
          position: absolute; 
          width: 100%;
        }
      }

或者让它像

一样打破
      :root {
        --paper-input-error: {
          position: relative; // or  width: 60px;
          height: 50px;
          white-space: normal;
          word-wrap: break-word;
          line-height: initial;
        };
      }

其余的元素标记

    </style>
    <paper-input label="only type letters (auto-validate)" auto-validate pattern="[0-9]*" error-message="Only digits from (0 to 9) are allowed."></paper-input>
  </template>
</dom-module>

我还尝试添加自定义加载项而不是默认的<error-element>,但失败了(另请参阅https://github.com/PolymerElements/paper-input/issues/262#issuecomment-160109256