el-tree-table元件是基於vue和element-ui,在vue-element-admin 的實作基礎上增加一些新特性。 並在此聲明treetable的業務實現再來上述開源項目,如有冒犯,請及時聯繫。 共同依據element-ui的el-table寫成。
擴充主要包括:顯示邊框、固定高度、顯示複選框、複選框選取是否遵循父子關聯、複選框停用條件。
npm i @weilan/el-tree-table --save
或
npm i @weilan/el-tree-table -S
import TreeTable from '@weilan/el-tree-table'
Vue.use(TreeTable)
範例
<treeTable :data="tree_table" :columns="columns" checkBox expandAll parentChild border :options="{key:'id', children:'Children'}" @treeTableSelect="getTreeTableSelect" />
<script>
export default {
name: 'app',
data(){
return {
columns: [
{
value: "id",
text: "值",
},
{
value: "name",
text: "名字"
}
],
tree_table:[
{
id: "1",
name: "第1级",
Children: [
{
id: "1-1",
name: "第1-1级",
Children: [
/* {
id: "1-1-1",
name: "第1-1-1级",
}, */
{
id: "1-1-2",
name: "第1-1-2级",
Children: [
{
id: "1-1-2-1",
name: "第1-1-2-1级",
},
{
id: "1-1-2-2",
name: "第1-2-2-2级",
},
]
},
]
},
{
id: "1-2",
name: "第1-2级",
Children: [
{
id: "1-2-1",
name: "第1-2-1级",
},
{
id: "1-2-2",
name: "第1-2-2级",
},
]
},
]
}
]
}
},
methods: {
getTreeTableSelect(val){
console.log(val);
}
},
}
</script>
參數: data說明:树形数据型態: Array, Object必填: true補充:对象或数组
參數: columns說明:列属性類型: Array必填: false補充: text: 显示在表头的文字,value: 对应data的key。treeTable将显示相应的value, width: 每列的宽度,为一个数字(可选),如果你想要每个字段都有自定义的样式或者嵌套其他组件,columns可不提供,直接像在el-table一样写即可,如果没有自定义内容,提供columns将更加的便捷方便
參數: expandAll說明:是否展开全部類型: Boolean必填: false
參數: evalFunc說明:解析函数類型: Function
參數: evalArgs說明:解析函数参数類型: Array
以上說明詳見(https://github.com/PanJiaChen/vue-element-admin/tree/master/src/components/TreeTable)。
參數: options說明: nodekey字段及children字段類型: Boolean必填: false補充:重要!根据id和children盒子字段来父子关联处理数据,默认{key: "id", children: "children"},如需自定义,请一块修改
參數: checkBox說明:是否显示复选框類型: Boolean必填: false
參數: height說明:用于固定表头類型: Number必填: false
參數: border說明:显示边框類型: Boolean必填: false補充:默认为true显示边框
參數: disabled說明:当checkBox为true显示复选框时可用,判断是否禁用字段類型: String補充:此参数传入内容为:data中表示复选框是否禁用的数据字段例{isDisabled: true, id: 1, children:[]},则disabled: 'isDisabled'
參數: parentChild說明:当checkBox为true显示复选框时可用,表示是否遵循父子关联類型: Boolean補充:默认false
事件: openChildren說明:点击图标展开子元素事件回呼: function(row, status), 返回点击行Object, 展开状态Boolean
事件: treeTableClick說明:点击列表行事件回呼: function(row), 返回点击行,注意:重复点击则取消选中并返回{}
事件: treeTableSelect說明:复选框选中事件回呼: function(val), 返回选中数据
slot:这是一个自定义列的插槽slot和columns属性可同時存在,columns裡面的資料列會在slot自訂列的左邊展示