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自訂列的左邊展示