【发布时间】:2019-02-04 06:25:04
【问题描述】:
我有一个如下所示的表格:
<el-table
:data="info"
class="myform"
stripe
style="width: 100%">
<el-table-column
prop="location_name"
label="Name"
width="180">
</el-table-column>
<el-table-column
v-if="promoActive"
prop="original_price"
label="Original Price"
width="180">
</el-table-column>
<el-table-column
prop="spaces_available"
label="Spaces"
width="180">
</el-table-column>
<el-table-column
v-if="promoActive"
prop="discount_value"
label="Discount Value"
width="180">
</el-table-column>
</el-table-column>
<el-table-column
v-if="promoActive"
label="Final Price"
width="180">
</el-table-column>
</el-table>
我正在尝试使最后一个表格列的道具值等于最终价格,即原价减去折扣价。但是,当我这样放置道具时,它不起作用:
<el-table-column
v-if="promoActive"
prop="(original_price - discount_value)"
label="Final Price"
width="180">
</el-table-column>
解决这个问题的最佳方法是什么?
【问题讨论】:
-
你也可以在这里写一个函数,比如
:prop: fnCalculate(your-obj-Here) -
fnCalculate必须在组件的方法中定义。 -
一个快速的解决方法是在你的道具上使用
v-bind,即v-bind:prop="(original_price - discount_value)"。但根据我的原始答案,使用计算属性更好,因为您将所有这些计算从模板中抽象出来
标签: vue.js vuejs2 element-ui