我注意到如果我的自定义Polymer 1.x元素的宽度比纸张输入元素上的验证错误消息的宽度窄,则错误溢出超出自定义元素的右边界。见下图:
是否有一种机制可以防止溢出,例如当文本到达自定义元素的边框时将其包裹起来?
由于
答案 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)