У меня есть форма для добавления новых элементов в мой массив, но хотелось бы скрыть форму до тех пор, пока пользователь не будет готов добавить элемент. Форма скрыта, и у меня есть функция @click
, прикрепленная к значку, чтобы переключать отображаемую форму, которая также работает. Но, как только будет отображаться форма, она автоматически скрывается в течение нескольких секунд.
значок @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=""
здесь:, вы вызываете повторную загрузку своей страницы при нажатии ссылки.
Попробуйте
href="#"
.Я ожидаю, что вы просто хотите отказаться от
isSection
, как указано в комментарии выше, даже если то, что вы написали выполняет одну и ту же цель; это не часто используемый синтаксис.<button>
для целей доступности.href="any"
не рекомендуется. используетstyle="cursor: pointer"
, если вам нужен только указатель, такой же, как<a href="any">