通过Angularjs

时间:2015-12-13 15:51:44

标签: html angularjs angular-ui-bootstrap

我想在焦点上调整textArea中的行数,在模糊时删除它们。除了焦点,我想显示一个隐藏的div层。我目前的解决方案是

<textarea class="form-control" rows="1" placeholder="Please enter text..." 
onfocus="this.rows=3" ng-focus="isVisible = !isVisible" onblur="this.rows=1" 
ng-blur="isVisible = !isVisible"></textarea>

从上面我可以看到,我必须使用两个属性,即HTML onfocus增加行和ng-focus更新isVisible(显示和隐藏div)。它有效,但我想知道是否可以使用ng-focus和ng-blur增加和减少行数。

我正在显示和隐藏的Div图层

<div class="row" ng-show="isVisible" />

提前致谢

1 个答案:

答案 0 :(得分:9)

基本上,您可以使用ng-attr-rows动态设置rows属性值。你可能会有类似下面的东西。

基本上每个摘要周期ng-attr-*指令评估其表达式,在您的情况下*rows,并将该评估值添加到rows属性。

<强>标记

<textarea ng-model="test" 
   ng-attr-rows="{{row || '1'}}" 
   ng-focus="row=3" 
   ng-blur="row=1">
</textarea>

Demo Plunkr