Files
vxe-table/examples/views/table/tree/Highlight.vue
xuliangzhan 985e1b7cba 优化重构
2020-04-21 19:32:15 +08:00

84 lines
2.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="keyboard-config"/>={isArrow: true, isEnter: true} 启用方向键功能<br>
<span class="red">(树结构不支持大量数据如果数据量超过 500 请谨慎使用)</span>
</p>
<vxe-table
highlight-current-row
:data="tableData"
:tree-config="{children: 'children'}"
:keyboard-config="{isArrow: true, isEnter: true}">
<vxe-table-column field="name" title="Name" tree-node></vxe-table-column>
<vxe-table-column field="size" title="Size"></vxe-table-column>
<vxe-table-column field="type" title="Type"></vxe-table-column>
<vxe-table-column field="date" title="Date"></vxe-table-column>
</vxe-table>
<pre>
<code>
| Arrow Up | 移动到高亮行的上一行 |
| Arrow Down | 移动到高亮行的下一行 |
| Enter | 展开节点进入子节点 |
| Backspace | 关闭节点返回到父节点 |
</code>
</pre>
<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'
import XEUtils from 'xe-utils'
export default {
data () {
return {
tableData: [],
selectRow: null,
demoCodes: [
`
<vxe-table
highlight-current-row
:data="tableData"
:tree-config="{children: 'children'}"
:keyboard-config="{isArrow: true, isEnter: true}">
<vxe-table-column field="name" title="Name" tree-node></vxe-table-column>
<vxe-table-column field="size" title="Size"></vxe-table-column>
<vxe-table-column field="type" title="Type"></vxe-table-column>
<vxe-table-column field="date" title="Date"></vxe-table-column>
</vxe-table>
`,
`
export default {
data () {
return {
tableData: []
}
},
created () {
this.tableData = window.MOCK_TREE_DATA_LIST
}
}
`
]
}
},
created () {
this.tableData = XEUtils.clone(window.MOCK_TREE_DATA_LIST, true)
},
mounted () {
Array.from(this.$el.querySelectorAll('pre code')).forEach((block) => {
hljs.highlightBlock(block)
})
}
}
</script>