vue.js - Vuejs v-show 没有按预期工作
问题描述
我有一个向我的数组添加新项目的表单,但想隐藏表单,直到用户准备好添加项目。表单是隐藏的,我有一个@click
附加到图标的功能来切换表单以显示,这也在工作。但是,一旦表单切换为显示,它会在几秒钟内自动隐藏。
@点击图标
<li class="m-portlet__nav-item">
<a href="" class="m-portlet__nav-link m-portlet__nav-link--icon" @click="isSection ^= true">
<i class="flaticon-add"></i>
</a>
</li>
形式
<div class="row" v-show="isSection">
<div class="col-md-12">
<div style="border: 1px solid #fcfcfc; padding: 1em">
<h5>Add New Section</h5>
<hr>
<form v-on:submit.prevent="addNewSection">
<div class="form-group m-form__group">
<input v-model="sections.name" placeholder="Name" class="form-control m-input" style="margin-bottom: .5rem"/>
<textarea v-model="sections.description" placeholder="Description" class="form-control m-input" style="margin-bottom: .5rem"/></textarea>
<button type="submit" class="btn btn-primary">Add Section</button>
</div>
</form>
</div>
</div>
</div>
脚本
new Vue({
el: "#main",
data: {
isSection: false,
...
addNewSection
addNewSection() {
this.sections.push(
{
name: this.sections.name,
description: this.sections.description,
items: []
}
);
this.sections.name = "";
this.sections.description = "";
},
解决方案
通过href=""
在这里设置:
<a href="" class="m-portlet__nav-link m-portlet__nav-link--icon" @click="isSection ^= true">
当您单击链接时,您正在触发页面的重新加载。
试试href="#"
。
<a href="#" class="m-portlet__nav-link m-portlet__nav-link--icon" @click="isSection ^= true">
我希望您也只想像isSection
上面评论中提到的那样否定,即使您写的内容确实具有相同的目的;这不是常用的语法。
<a href="#" class="m-portlet__nav-link m-portlet__nav-link--icon" @click="isSection = !isSection">
推荐阅读
- postgresql - 使用 Postgres 映射两个表
- android - 错误:OAuth2Credentials 实例不支持刷新访问令牌。如何使用令牌值字符串创建 AccessToken 实例?
- css - 具有 2 种不同颜色的 JavaFX 滑块,例如选定区域为绿色,未选定区域为红色
- excel - Excel - 根据标准传输小计
- process - 父进程无法正确写入 lua 子进程标准输入
- arrays - PowerShell:拆分大型 JSON 文件的策略
- seo - TYPO3 - 在自定义扩展的详细视图上覆盖和添加元标记(来自 tx_metaseo)
- c# - 设置 UI 滑块来控制后期处理效果?
- javascript - Pug 访问对象数组
- google-nearby - 我们可以改变 Nearby 连接中 Connection 策略的网络结构吗?