您好,我在AngularJS中使用https://hassantariqblog.wordpress.com/2016/07/27/angularjs-textarea-auto-resize-directive/来根据输入来调整文本区域的大小。我正在使用如下模板(description.tpl.html):
<textarea class="form-control" auto-resize placeholder="Please enter description here..." style="resize: none;min-height:100px;" ng-model="description" autofocus></textarea>
然后在2个地方显示文本区域。但是,当我在如下所示的选项卡中使用textarea时,不会更新它的大小。但是,当我开始输入文本区域时,它会更新大小。
<uib-tab heading= DESCRIPTION >
<div ng-include="'description.tpl.html'"></div>
</uib-tab>
因此,我尝试添加此代码,当选择选项卡时,如何调用该指令?
element.css({ 'height': 'auto', 'overflow-y': 'hidden' });
element.css('height', element[0].scrollHeight + 'px');
谢谢!
答案 0 :(得分:0)
我添加了一个布尔作用域变量,并在选择选项卡时将其设置为true。在指令中添加了以下代码:
scope.$watch('descriptionTabSelected', function(descriptionTabSelected){
if(descriptionTabSelected){
element.css({ 'height': 'auto', 'overflow-y': 'hidden' });
$timeout(function () {
element.css('height', element[0].scrollHeight + 'px');
}, 100);
}
});