vue.js - 显示后 textarea 不接受正确的大小 none
问题描述
文本区域样式
overflow:hidden;
outline: none;
border: none;
width: 100%;
resize: inherit;
通过foreach,得到notes(newRecord,从中提取出原始notes的text和id)。不要讲太多细节,{{ }} 我有 Symfony 括号,而不是 Vue。
ID 以 1 开头(1,2,3...)
<template v-if="{{ newRecord.originalRecordId }} == visibleNumber && isShown">
<ul class="list-group" :style="{ display: 'block' }" >
<li class="list-group-item"><textarea id="textarea-{{ newRecord.originalRecordId }}" readonly>{{ newRecord.originalRecordText }}</textarea></li>
</ul>
</template>
<template v-else>
<ul id="ul-{{ newRecord.originalRecordId }}" class="list-group" :style="{ display: 'none' }" >
<li class="list-group-item"><textarea id="textarea-{{ newRecord.originalRecordId }}" readonly>{{ newRecord.originalRecordText }}</textarea></li>
</ul>
</template>
通过警报输出正确的大小,但 textarea 采用原始(小)大小,忽略刚刚在警报中输出的大小
var app = new Vue({
el: '#app',
data: {
visibleNumber: -1,
isShown: true,
},
methods: {
textareaResize: function (num) {
document.getElementById('textarea-'+num).style.height=document.getElementById('textarea-'+num).scrollHeight + "px";
alert(document.getElementById('textarea-'+num).style.height);
},
descriptionShown: function (num) {
if (this.visibleNumber === num) {
this.textareaResize(num);
this.isShown = !this.isShown;
} else {
this.textareaResize(num);
this.isShown = true;
this.visibleNumber = num;
}
},
},
})
解决方案
你可以试试:
<textarea id="textarea-{{ newRecord.originalRecordId }}" readonly rows="8">{{ newRecord.originalRecordText }}</textarea>
推荐阅读
- python - 系统日期更改Python时日期不更新
- c++ - 为什么我的并行数组显示随机值?
- dialogflow-es - 我可以将许多图片链接放在对话框流中并随机发送一个吗
- sql-server - 在 Visual Studio 数据库项目中处理部分数据库
- javascript - puppeteer 和选择器有问题
- reactjs - 表单提交时未显示反应表单值
- python - 更改列表中的最后一个元素
- google-apps-script - 在 Google Docs 上运行脚本时出现问题
- python - 在 CouchDB 的文档中添加字段时如何放置时间戳?
- angular - 运行 Angular Web 应用程序时 Visual Studio 生成的 dist 文件夹在哪里?