【问题标题】:Update textarea rows via Angularjs通过 Angularjs 更新 textarea 行
【发布时间】:2017-05-30 17:38:00
【问题描述】:

我想调整 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" />

提前致谢

【问题讨论】:

    标签: html angularjs angular-ui-bootstrap


    【解决方案1】:

    基本上您可以使用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

    【讨论】:

    • 我想知道您能否解释一下表达式 {{row || '1'}}。我以前没见过这个
    • @Barry 您可以查看更新后的答案..使用我粘贴在那里的文档链接。
    • 文档参考似乎已过时。现在可以在此处找到有关 ng-attr 绑定的信息:docs.angularjs.org/guide/…
    • @user1438038 更新了文档参考,感谢您的提醒 :)
    猜你喜欢
    • 1970-01-01
    • 2011-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多