Ошибки проверки упаковки для ввода бумаги с полимерным элементом

Я заметил, что если ширина моего пользовательского элемента Polymer 1.x уже, чем ширина сообщения об ошибке проверки для элемента ввода бумаги, ошибка выходит за правую границу пользовательского элемента. Смотрите рисунок ниже:

Существует ли механизм предотвращения переполнения, например, перенос текста, когда он достигает границы пользовательского элемента?

Спасибо

1 ответ

Решение
<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)

Другие вопросы по тегам