Files
vxe-table/examples/views/table/edit/HighlightCell.vue
xuliangzhan ebecbe0475 优化重构
2020-03-20 16:52:48 +08:00

94 lines
3.4 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<template>
<div>
<p class="tip">高亮单元格编辑通过 <table-api-link prop="highlight-cell"/> 属性设置<span class="red">仅支持部分组件</span></p>
<vxe-table
border
show-overflow
highlight-cell
keep-source
max-height="400"
:data="tableData"
:mouse-config="{selected: true}"
:keyboard-config="{isArrow: true, isDel: true, isTab: true, isEdit: true}"
:edit-config="{trigger: 'click', mode: 'cell', showStatus: true}">
<vxe-table-column field="name" title="Name" :edit-render="{name: 'input'}"></vxe-table-column>
<vxe-table-column field="nickname" title="Nickname" :edit-render="{name: 'input'}"></vxe-table-column>
<vxe-table-column field="sex" title="Sex" :edit-render="{name: '$select', options: sexList}"></vxe-table-column>
<vxe-table-column field="age" title="Age" :edit-render="{name: '$input', props: {type: 'integer'}}"></vxe-table-column>
<vxe-table-column field="address" title="Address" :edit-render="{name: 'textarea'}"></vxe-table-column>
<vxe-table-column field="date" title="Date" :edit-render="{name: '$input', props: {type: 'date'}}"></vxe-table-column>
</vxe-table>
<p class="demo-code">{{ $t('app.body.button.showCode') }}</p>
<pre>
<code class="xml">{{ demoCodes[0] }}</code>
<code class="javascript">{{ demoCodes[1] }}</code>
</pre>
</div>
</template>
<script>
import hljs from 'highlight.js'
export default {
data () {
return {
tableData: [],
sexList: [
{ label: '女', value: '0' },
{ label: '男', value: '1' }
],
demoCodes: [
`
<vxe-table
border
show-overflow
highlight-cell
keep-source
max-height="400"
:data="tableData"
:mouse-config="{selected: true}"
:keyboard-config="{isArrow: true, isDel: true, isTab: true, isEdit: true}"
:edit-config="{trigger: 'click', mode: 'cell', showStatus: true}">
<vxe-table-column field="name" title="Name" :edit-render="{name: 'input'}"></vxe-table-column>
<vxe-table-column field="nickname" title="Nickname" :edit-render="{name: 'input'}"></vxe-table-column>
<vxe-table-column field="sex" title="Sex" :edit-render="{name: '$select', options: sexList}"></vxe-table-column>
<vxe-table-column field="age" title="Age" :edit-render="{name: '$input', props: {type: 'integer'}}"></vxe-table-column>
<vxe-table-column field="address" title="Address" :edit-render="{name: 'textarea'}"></vxe-table-column>
<vxe-table-column field="date" title="Date" :edit-render="{name: '$input', props: {type: 'date'}}"></vxe-table-column>
</vxe-table>
`,
`
export default {
data () {
return {
showPopupEdit: false,
selectRow: null,
tableData: [],
sexList: [
{ label: '女', value: '0' },
{ label: '男', value: '1' }
]
}
},
created () {
this.tableData = window.MOCK_DATA_LIST.slice(0, 4)
}
}
`
]
}
},
created () {
this.tableData = window.MOCK_DATA_LIST.slice(0, 4)
},
mounted () {
Array.from(this.$el.querySelectorAll('pre code')).forEach((block) => {
hljs.highlightBlock(block)
})
}
}
</script>