UNPKG

cloud-ui.vusion

Version:
108 lines (77 loc) 2.92 kB
<!-- 该 README.md 根据 api.yaml 和 docs/*.md 自动生成,为了方便在 GitHub 和 NPM 上查阅。如需修改,请查看源文件 --> # MRoot 根节点模式 - [概述](#undefined) - [用法](#用法) - [示例](#示例) - [基本用法](#基本用法) - [MRoot API](#mroot-api) - [Options](#options) - [Data](#data) - [Slots](#slots) - [Methods](#methods) - [MNode API](#mnode-api) - [Options](#options-2) - [Data](#data-2) - [Slots](#slots-2) 本对 Mixin:MRoot 和 MNode,对常见的类似`<u-tree-view>`和`<u-tree-view-node>`多级组件嵌套的场景进行了抽象,用于快速开发和代码借鉴。 ### 用法 - 在继承 MRoot 的组件 Options 中,补充声明子组件的 `nodeName`字段 - 在继承 MNode 的组件 Options 中,补充声明父组件的 `rootName`字段 父组件会将多个子组件收集在`nodeVMs`数组中,子组件将父组件标记为`parentVM`变量,将根组件标记为`rootVM`。这段过程发生在组件的`created`阶段。在`destroyed`阶段回收这些数据。 ## 示例 ### 基本用法 ``` html <m-root> <m-node text="节点 1"> <m-node text="节点 1.1"></m-node> <m-node text="节点 1.2"> <m-node text="节点 1.2.1"></m-node> <m-node text="节点 1.2.2"></m-node> </m-node> <m-node text="节点 1.3"></m-node> <m-node text="节点 1.4"></m-node> </m-node> <m-node text="节点 2"></m-node> <m-node text="节点 3"> <m-node text="节点 3.1"></m-node> <m-node text="节点 3.2"></m-node> </m-node> </m-root> ``` ## MRoot API ### Options | Option | Type | Default | Description | | ------ | ---- | ------- | ----------- | | nodeName | string | `'m-node'` | 节点组件的名称 | ### Data | Data | Type | Default | Description | | ---- | ---- | ------- | ----------- | | nodeVMs | Array\<MNode\> | `[]` | 首层节点组件集合 | ### Slots #### (default) 插入`<m-node>`子组件。 Methods #### walk(func) 广度优先遍历树。当`func`函数有返回值时,停止遍历。 | Param | Type | Default | Description | | ----- | ---- | ------- | ----------- | | func | Function | | 遍历的处理函数 | #### find(func) 查找节点实例。 | Param | Type | Default | Description | | ----- | ---- | ------- | ----------- | | func | Function | | 查找函数。找到第一个返回值为`true`的实例。 | ## MNode API ### Options | Option | Type | Default | Description | | ------ | ---- | ------- | ----------- | | rootName | string | `'m-root'` | 根组件的名称 | ### Data | Data | Type | Default | Description | | ---- | ---- | ------- | ----------- | | rootVM | MRoot | | 根组件实例 | | parentVM | MNode | | 父节点实例 | | nodeVMs | Array\<MNode\> | `[]` | 子节点组件集合 | ### Slots #### (default) 插入`<m-node>`子组件。