console
Vue.prototype.$modal = VXETable.modal
VXETable.formats.mixin({
formatSex ({ cellValue }) {
return cellValue ? (cellValue === '1' ? '男' : '女') : ''
},
formatSelect ({ cellValue }, list) {
const item = list.find(item => item.value === cellValue)
return item ? item.label : ''
},
formatDate ({ cellValue }, format) {
return XEUtils.toDateString(cellValue, format || 'yyyy-MM-dd HH:mm:ss')
},
formatAmount ({ cellValue }, digits = 2) {
return XEUtils.commafy(XEUtils.toNumber(cellValue), { digits })
},
formatBankcard ({ cellValue }) {
return XEUtils.commafy(XEUtils.toString(cellValue), { spaceNumber: 4, separator: ' ' })
},
formatFixedNumber ({ cellValue }, digits = 2) {
return XEUtils.toFixed(XEUtils.round(cellValue, digits), digits)
},
formatCutNumber ({ cellValue }, digits = 2) {
return XEUtils.toFixed(XEUtils.floor(cellValue, digits), digits)
},
toMomentString ({ cellValue }, format) {
return cellValue ? cellValue.format(format) : ''
}
})
var Main = {
data() {
return {
tableColumn: [
{ type: 'checkbox', width: 50 },
{ field: 'name',width: 80 },
{ field: 'role', title: '列键值', width: 100},
{ field: 'num', title: '金额排序',formatter:'formatAmount',sortBy:'num',sortType:'number',sortable:'true', width: 100 }
],
tableData: [
{ name: '小红', role: '前端', num: 66666 },
{ name: '老王', role: '后端', num: 666 },
{ name: '小红', role: '后端', num: 3222 },
{ name: '小明', role: '前端', num: 3333 },
{ name: '老徐', role: '测试', num: 5555 },
{ name: '老王', role: '前端', num: 555}
]
}
}
};
var Ctor = Vue.extend(Main);
new Ctor().$mount('#app')
<script src="https://cdn.jsdelivr.net/npm/vue"></script>
<script src="https://cdn.jsdelivr.net/npm/xe-utils"></script>
<script src="https://cdn.jsdelivr.net/npm/vxe-table"></script>
<div id="app">
<template>
<div>
<vxe-grid
border
highlight-hover-row
height="400"
:columns="tableColumn"
:data="tableData">
</vxe-grid>
</div>
</template>
</div>
@import url("https://cdn.jsdelivr.net/npm/vxe-table/lib/style.css");