vue.js - 如何先显示一个元素,然后执行一个函数来改变这个元素的样式 vue.js
问题描述
当按钮被点击时,触发onclick事件并执行函数
descriptionShown: function (num) {
if (this.visibleNumber === num) {
this.isShown = !this.isShown;
} else {
this.isShown = true;
this.visibleNumber = num;
}
if(this.isShown)
this.textareaResize(num);
},
在 isShown = true 之后,应该重新绘制 textarea 组件,因为有 v-if="{{ newRecord.originalRecordId }} == visibleNumber && isShown"
<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 class="list-group" :style="{ display: 'none' }" >
<li class="list-group-item"><textarea id="textarea-{{ newRecord.originalRecordId }}" readonly>{{ newRecord.originalRecordText }}</textarea></li>
</ul>
</template>
如何使重绘首先发生(通过 v-if),然后执行更改 textarea 大小的函数?然后事实证明,首先有大小变化(0到0),然后只显示元素
解决方案
推荐阅读
- rollup - 为配置引发错误汇总自定义 cli 参数
- ios - UITableViewCell 的内容在展开单元格时被剪裁
- javascript - 使用可选属性扩展 TypeScript 类型
- java - 声纳:由于被调用方法的返回值,可能的空指针取消引用
- python - 使用 JPype 导入 java 类时遇到问题
- python-3.x - Matplotlib get_ylim() 改变数据转换结果
- java - 使用 Spring DataSourceBuilder.create() 将 maxConnectionLimit 设置为手动创建的连接
- c++ - c++ 中的静态库如何与 name mangle 一起使用?
- angular - 父组件显示两次具有不同输入的相同子组件仅显示一个输入
- c# - 从 Goodreads API 读取 XML 并从中获取特定元素