Я новичок в vuejs. Я пытаюсь отобразить флажок в таблице на основе некоторых условий. используя bootstrapvue lib для флажка. Ниже приведен мой код,
шаблон:
<tr v-for="(item, index) in data" :key="index">
<slot :row="item" >
<td v-for="(column, index) in columns" :key="index" v-if="checkForCol(item, column)">
<b-form-checkbox v-model="checked" name="check-button" disabled="disabled" switch></b-form-checkbox>
</td>
<td :key="index" v-else>
<span v-if="hasValue(item, column)">
{{itemValue(item, column)}}
</span>
</td>
</slot>
</tr>
Скрипт:
data() {
return {
checked : false
}
},
methods: {
hasValue(item, column) {
return item[column] !== "undefined"
},
checkForCol(item, column) {
if(column === "statusInfo") {
this.checked = item[column] === "ONLINE" ? true : false
return true
}
},
itemValue(item, column) {
return item[column]
}
}
Данные столбца:
[{
"label": "label 1",
"id": "5f123456",
"statusInfo": "OFFLINE",
},
{
"label": "label 2",
"id": "5f1236786",
"statusInfo": "ONLINE",
}]
для всех "ONLINE" значения не получают никаких ошибок. но если какая-либо строка имеет «OFFLINE», то получается бесконечная ошибка l oop. Я понял проблему, что это из-за проблемы мутации this.checked. Но нет решения, чтобы решить это. Любая помощь будет полезна. Заранее спасибо.