让 AngularUI Mask 与 Angular Material 一起工作

Getting AngularUI Mask to work with Angular Material

我有一个利用 Angular Material 框架的项目,在该项目中,我尝试使用 Angular UI 掩码对输入字段进行 phone 数字格式设置。我能够让每个人单独工作(material 标签在没有掩码的情况下正常运行,而掩码在没有 material 标签的情况下也能正常工作)。我无法让它们一起工作,我希望输入字段中的占位符读取 "Phone Number" 然后将该占位符转换为输入上方的标签(作为 material 输入会),然后让掩码出现在文本框中。我能让这些工作的唯一方法是同时显示占位符和标签。

代码很简单:

<md-input-container>
        <label>Phone Number</label>
        <input aria-label="Phone Number" id="phone" name="phone" type="text" ng-value="phone" ng-model="phone" ui-mask="(999) 999-9999" ui-mask-placeholder placeholder="Phone Number">
</md-input-container>

这是 Plunker:http://plnkr.co/edit/fXIRnKwdnBPwEODYuTBP

添加:

ui-options={addDefaultPlaceholder:false}

这会隐藏输入遮罩,直到出现 onBlur。

无论有没有标签,它都适用。

这是一个笨蛋:http://plnkr.co/edit/TQxPE2XLG5on1JSKHRHq?p=preview