使用ng-value检索时,标签隐藏输入文本字段值在md-input-container中

时间:2015-12-23 11:25:29

标签: angularjs material-design angular-material

使用angularjs检索具有ng值的文本输入字段的值时,在检索到值后,字段覆盖的标签不会在字段上方转换。单击该字段后,我只能在输入字段中看到该值。

我正在使用材质的md-input-container:

      <md-input-container>
        <label>Name</label>
        <input type="text" ng-value="profileInfo.name" ng-model="savedProfileInfo.name" class="provider-name" id="providerName" name="providerName" />
      </md-input-container>

这是Inspect Element代码:

      <md-input-container class="">
        <label for="providerName">Name</label>
        <input type="text" ng-value="profileInfo.name" ng-model="savedProfileInfo.name" class="provider-name ng-pristine ng-untouched ng-valid md-input" id="providerName" name="providerName" aria-invalid="false" value="a"><div class="md-errors-spacer"></div>
      </md-input-container>

您可以清楚地看到使用ng-value加载页面后拉出的value =“a”。但是,这个领域仍然是这样的:

input field with label overlay

只有在我点击该字段后才能看到我的期望:

input field after clicking on it

这是一个错误吗?我错过了什么吗?我虽然AngularJS和Material应该玩得很好。

  

可用的plunker here

1 个答案:

答案 0 :(得分:0)

在一个迂回的方式中,troig的评论帮助我解决了这个问题。

此表单用于显示和更新用户的个人资料信息。我使用 ng-model 来更新用户的配置文件和ng值,以显示数据库中的任何现有用户配置文件信息。

ng-value 会回放 value =“”属性,该属性与 md-input-container 不匹配。为了使其正常工作,我删除了 ng-value ,用 profileInfo.name 替换了 ng-model 的值,并修改了我的控制器允许我保存 profileInfo.name 而不是 savedProfileInfo.name

代码翻译:

TREE_NM

故事的道德, ng-value md-input-container 和表单标签不相称。