You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
121 lines
3.4 KiB
121 lines
3.4 KiB
/* eslint no-console:0 */
|
|
/* eslint no-alert:0 */
|
|
import PropTypes from '../../_util/vue-types'
|
|
import Tree from '../index'
|
|
import '../assets/index.less'
|
|
import './basic.less'
|
|
|
|
const treeData = [
|
|
{ key: '0-0', title: 'parent 1', children:
|
|
[
|
|
{ key: '0-0-0', title: 'parent 1-1', children:
|
|
[
|
|
{ key: '0-0-0-0', title: 'parent 1-1-0' },
|
|
],
|
|
},
|
|
{ key: '0-0-1', title: 'parent 1-2', children:
|
|
[
|
|
{ key: '0-0-1-0', title: 'parent 1-2-0', disableCheckbox: true },
|
|
{ key: '0-0-1-1', title: 'parent 1-2-1' },
|
|
],
|
|
},
|
|
],
|
|
},
|
|
]
|
|
|
|
export default {
|
|
props: {
|
|
keys: PropTypes.array.def(['0-0-0-0']),
|
|
},
|
|
data () {
|
|
const keys = this.keys
|
|
return {
|
|
defaultExpandedKeys: keys,
|
|
defaultSelectedKeys: keys,
|
|
defaultCheckedKeys: keys,
|
|
}
|
|
},
|
|
methods: {
|
|
onExpand (expandedKeys) {
|
|
console.log('onExpand', expandedKeys, arguments)
|
|
},
|
|
onSelect (selectedKeys, info) {
|
|
console.log('selected', selectedKeys, info)
|
|
this.selKey = info.node.$options.propsData.eventKey
|
|
},
|
|
onCheck (checkedKeys, info) {
|
|
console.log('onCheck', checkedKeys, info)
|
|
},
|
|
onEdit () {
|
|
setTimeout(() => {
|
|
console.log('current key: ', this.selKey)
|
|
}, 0)
|
|
},
|
|
onDel (e) {
|
|
if (!window.confirm('sure to delete?')) {
|
|
return
|
|
}
|
|
e.stopPropagation()
|
|
},
|
|
toggleChildren () {
|
|
this.showMore = !this.showMore
|
|
},
|
|
},
|
|
|
|
render () {
|
|
const customLabel = ( // eslint-disable-line
|
|
<span class='cus-label'>
|
|
<span>operations: </span>
|
|
<span style={{ color: 'blue' }} onClick={this.onEdit}>Edit</span>
|
|
<label onClick={(e) => e.stopPropagation()}>
|
|
<input type='checkbox' /> checked
|
|
</label>
|
|
|
|
<span style={{ color: '#EB0000' }} onClick={this.onDel}>Delete</span>
|
|
</span>
|
|
)
|
|
return (<div style={{ margin: '0 20px' }}>
|
|
<h2>simple</h2>
|
|
{/* <Tree
|
|
class='myCls' showLine checkable defaultExpandAll
|
|
defaultExpandedKeys={this.defaultExpandedKeys}
|
|
onExpand={this.onExpand}
|
|
defaultSelectedKeys={this.defaultSelectedKeys}
|
|
defaultCheckedKeys={this.defaultCheckedKeys}
|
|
onSelect={this.onSelect} onCheck={this.onCheck}
|
|
>
|
|
<TreeNode title='parent 1' key='0-0'>
|
|
<TreeNode title={customLabel} key='0-0-0'>
|
|
<TreeNode title='leaf' key='0-0-0-0' style={{ background: 'rgba(255, 0, 0, 0.1)' }} />
|
|
<TreeNode title='leaf' key='0-0-0-1' />
|
|
</TreeNode>
|
|
<TreeNode title='parent 1-1' key='0-0-1'>
|
|
<TreeNode title='parent 1-1-0' key='0-0-1-0' disableCheckbox />
|
|
<TreeNode title='parent 1-1-1' key='0-0-1-1' />
|
|
</TreeNode>
|
|
<TreeNode title='parent 1-2' key='0-0-2' disabled>
|
|
<TreeNode title='parent 1-2-0' key='0-0-2-0' disabled />
|
|
<TreeNode title='parent 1-2-1' key='0-0-2-1' />
|
|
</TreeNode>
|
|
</TreeNode>
|
|
</Tree> */}
|
|
|
|
<h2>Check on Click TreeNode</h2>
|
|
<Tree
|
|
class='myCls'
|
|
showLine
|
|
checkable
|
|
selectable={ false }
|
|
defaultExpandAll
|
|
onExpand={this.onExpand}
|
|
defaultSelectedKeys={this.defaultSelectedKeys}
|
|
defaultCheckedKeys={this.defaultCheckedKeys}
|
|
onSelect={this.onSelect}
|
|
onCheck={this.onCheck}
|
|
treeData={treeData}
|
|
/>
|
|
</div>)
|
|
},
|
|
}
|
|
|