Пользовательский интерфейс не обновляется после изменения данных в vue - PullRequest
0 голосов
/ 05 октября 2018

Когда я использовал массив напрямую (не делая его частью объекта), то он работает нормально, как и ожидалось, ниже приведен код,

<span class="tagSpan" v-else-if="row.label == 'Tags'">
    <span v-if="aTags.length" v-for="(tag, tagIndex) in aTags" class="input-tag tagSpan">{{tag}}                                           
        <span class="close-x" @click="aTags.splice(tagIndex, 1)">❌</span>
    </span>
    <input  v-on:keyup.186="onTagAdd(rowIndex)" type="text" class="form-control form-control-sm col-3" :disabled="!row.editable" v-model="row.value" >
</span>

Теперь я оптимизировал код и сделал aTagsэлемент объекта oDyData и изменил код, как показано ниже

<span class="tagSpan" v-else-if="row.label == 'Tags'">
    <span v-if="oDyData.aTags && oDyData.aTags.length" v-for="(tag, tagIndex) in oDyData.aTags" class="input-tag tagSpan">{{tag}}                                           
        <span class="close-x" @click="oDyData.aTags.splice(tagIndex, 1)">❌</span>
    </span>
    <input  v-on:keyup.186="onTagAdd(rowIndex)" type="text" class="form-control form-control-sm col-3" :disabled="!row.editable" v-model="row.value" >
</span>

Моя функция удаления тега '@ click = "aTags.splice (tagIndex, 1)' не работает, как раньше ,Он удаляет элемент из массива объекта, но пользовательский интерфейс не обновляется, я также перепроверил в компонентах разработки vue, и массив обновляется, но пользовательский интерфейс не обновляется (обновляется) до тех пор, пока не произойдет любое другое изменение пользовательского интерфейса.получил изменения, если я ввожу что-то во ввод или нажимаю где-то). Ниже скриншот для того же. Tag UI

Как решить эту проблему?

1 Ответ

0 голосов
/ 05 октября 2018
<span class="close-x" @click="aTags.splice(tagIndex, 1)">❌</span>

use @click="oDyData.atags.splice(tagIndex,1)

Поскольку вы пытаетесь достичь объекта aTags, который не определен, поскольку вы получаете этот объект из oDyData.О, это может быть проблемой в вашем коде.Также вы должны использовать :key при использовании свойства v-for.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...