Я использую vue с bootstrap-vue и функцией b-collapse, и в этом случае он используется в v-for (списки).
он работает хорошо, за исключением того, что я не могу понять, как автоматически закрыть расширенные элементы списка, когда щелкают новый элемент списка для расширения ..
Итак, мой вопрос:
Как я могу закрыть развернутые, когда я нажимаю новый элемент списка для раскрытия?
Примечание: я генерирую v-b-toggle = "" с такими уникальными значениями, как это:
<i v-b-toggle="'collapse' + key + index"
Вот мой код:
<div v-for="(item, key, index) in nluData">
<div v-for="(item, key, index) in nluData">
<div class="alert alert-warning">
<i v-b-toggle="'collapse' + key + index"> </i>
</div>
<b-collapse :id="'collapse' + key + index">
<b-card style="background-color:#f0f8ff; margin-right:-30px;">
....
</b-card>
</b-collapse>
</div>
ОБНОВЛЕНИЕ ПОСЛЕ ПРЕДЛОЖЕНИЯ @ sklingler93:
Изменено на следующее:
<i @click="expanded=key"> </i>
<b-collapse :id="'collapse' + key + index" visible="key == expanded">
Свойство данных Vue:
export default {
data() {
return {
expanded: 0
}
}
Я пробовал разные типы для расширенных (string, boolean, int). В итоге все развернулось, и следующее предупреждение: как:
Недопустимое свойство: проверка типа для свойства "visible" завершилась неудачно. Ожидается логическое значение, получено String.