【发布时间】:2019-06-01 14:16:51
【问题描述】:
所以我在这个测试应用中使用Bootstrap Vue。我正在尝试根据表格单元格的值更改表格单元格的变体。不幸的是,variant 参数不会带一个函数,所以我对如何实现这一点没有想法。
这是我的代码:
var app = new Vue({
el: '#app',
data: {
items: [], //Will be populated through AJAX
fields: [
{
key: 'Vendedor',
label: 'Vendedor'
},
{
key: 'OBJETIVO',
label: 'Objetivo',
formatter: (value) => { return parseFloat(value).toFixed(2)},
variant: estiloObjetivo //THIS IS NOT WORKING
}
]
},
methods: {
Cargar: function () {
var salesperson = getCookie('salespersonCode');
var url_servicio = 'http://MywebService/';
var self = this;
$.ajax({
type: 'GET',
url: url_servicio + 'ventas/' + salesperson,
dataType: "json", // data type of response
success: function(data){
self.items = data
}
});
},
estiloObjetivo (value) {
if value > 0 //I need my cell variant to change depeding on this value
return 'danger'
else
return 'success'
}
}
})
这是我的 HTML 部分:
<div id="app">
<button v-on:click="Cargar">Cargar</button>
<b-table striped hover :fields="fields" :items="items"></b-table>
</div>
关于如何动态设置 Bootstrap-vue 单元格样式的任何想法?
这是在文档中完成的方式,它实际上是在“items”数组中设置的,但是在像我这样从网络服务获取数据的情况下,这有什么用处?:
{
salesperson: 'John',
Objetivo: 2000,
_cellVariants: { salesperson: 'success', Objetivo: 'danger'}
},
所以我想我需要一种设置我需要的方法是设置'items'数组中每个元素的_cellVariants参数。
【问题讨论】:
-
您尝试过类似
variant:(value)=>{return value>0?'danger':''success'}的方法吗? -
不走运..
variant: (value) => { return 'danger'}-> 这被忽略了(无风格)variant: 'danger'-> 这有效。无论如何,我认为这会影响整个列,而不仅仅是我需要的行。我需要的是设置'items'数组中每个元素的_cellVariants参数
标签: javascript twitter-bootstrap vue.js vuejs2 bootstrap-vue