console
var Main = {
data() {
return {
tableData: [],
gridOptions: {
border: true,
columns: [
{ field: 'name', title: 'Name',editRender:{name: 'MyInput'} },
{ field: 'sex', title: 'Sex' },
],
data: []
}
}
},
mounted() {
var list1 = []
var list2 = []
for (var index = 0; index < 3; index++) {
list2.push({ name: 'test' + index, sex: 'Man', })
}
this.gridOptions.data = list2
}
};
Vue.createApp(Main).use(VXETable).mount('#app')
VXETable.renderer.add('MyInput', {
renderEdit(renderOpts, params) {
let { row, column } = params
return [
<input class="my-cell" text="text" v-model={row[column.field]} />
]
},
renderCell(renderOpts, params) {
let { row, column } = params
return [
<span>{row[column.field]}</span>
]
},
exportMethod(params) {
const { row, column } = params
return '自定义内容'
}
})
<script src="https://cdn.jsdelivr.net/npm/vue@next"></script>
<script src="https://cdn.jsdelivr.net/npm/xe-utils"></script>
<script src="https://cdn.jsdelivr.net/npm/vxe-table@next"></script>
<div id="app">
<div>
<p>Grid 演示</p>
<vxe-grid v-bind="gridOptions"></vxe-grid>
</div>
</div>
@import url("https://cdn.jsdelivr.net/npm/vxe-table@next/lib/style.css");