Я создал таблицу из базы данных. Один из столбцов называется значением.
Вместо отображения значения. Я пытаюсь отобразить цветные точки в зависимости от диапазона.
Например, значение равно нулю или 0,5, тогда цвет точки - красный. Если значение от 1 до 3, то цвет оранжевый.
Если значение больше 3, точка окрашивается в зеленый цвет.
На данный момент я получил следующую ошибку:
[Vue warn]: Ошибка при рендеринге: «Ошибка типа: _vm.range не является функцией»
Возможно, это что-то о том, как определить мою функцию. И тип данных, которые я дал своей функции.
Я не понимаю, в чем проблема. Может ли кто-нибудь помочь мне? Большое спасибо;
Часть моего кода Vue для отображения столбца значения
<template slot="value" slot-scope="row">
<span class="green dot" v-if="range(row.item.value) == 2"></span>
<span class="orange dot" v-if="range(row.item.value) == 1"></span>
<span class="red dot" v-if="range(row.item.value) == 1"></span>
</template>
Часть моего кода JavaScript
export default {
props: ['dbdata'],
data() {
return {
dbs: this.dbdata,
dbSearch: '',
totalRows: 1,
currentPage: 1,
perPage: 10,
pageOptions: [10, 20, 50,100],
sortBy: "id",
sortDesc: false,
sortDirection: 'asc',
filter: null,
selectMode: 'multi',
selected: [],
fields: {
id: {
label: "Id",
sortable: true
},
name: {
label: "Name",
sortable: true
},
value: {
label: "value",
sortable: true
}
}
}
},
computed:{
hits: function(){
var hits = this.dbs.length
return hits
},
range: function(x){
if (x < 1){
x = 0;
}if(x >= 1 && x <= 3 ){
x = 1;
}if(x >= 3 ){
x = 2;
}
return x
}
},