amis icon indicating copy to clipboard operation
amis copied to clipboard

input-tree的层级问题

Open 969937484 opened this issue 4 years ago • 7 comments

请问input-tree如何判断层级level,我现在是想不同的层级显示不同页面,但是没法得到tree的层数,他没有level属性,通过tree的name和source里面的value无法判断是哪一层的,举个例子: tree的第一层级显示form1,第二层级显示form2,通过visibleOn="level1"和visibleOn="level2",来控制form的显隐,请问如何操作

969937484 avatar Dec 30 '21 13:12 969937484

tree的数据是后端返回的,可以让后端在生成tree 结构的时候 加上level

dbkuaizi avatar Jan 01 '22 14:01 dbkuaizi

tree的数据是后端返回的,可以让后端在生成tree 结构的时候 加上level

您好 怎么取到这个level值呢?请看下我整的demo

问题:如tree接口有level,但是不知道怎么拿到这个值

{ "type": "page", "body": [ { "type": "crud", "visibleOn": "this.level === 1", "api": { "url": "https://3xsw4ap8wah59.cfc-execute.bj.baidubce.com/api/amis-mock/mock2/sample?id=${tree}", "data": { "page": "${page}", "perPage": "${perPage}" } }, "syncLocation": false, "columns": [ { "name": "id", "label": "ID" }, { "name": "engine", "label": "Rendering engine" }, { "name": "browser", "label": "Browser" }, { "name": "platform", "label": "Platform(s)" }, { "name": "version", "label": "Engine version" }, { "name": "grade", "label": "CSS grade" } ] }, { "type": "crud", "visibleOn": "this.level === 2", "api": { "url": "https://3xsw4ap8wah59.cfc-execute.bj.baidubce.com/api/amis-mock/mock2/sample?id=${tree}", "data": { "page": "${page}", "perPage": "${perPage}" } }, "syncLocation": false, "columns": [ { "name": "id2", "label": "ID" }, { "name": "engine2", "label": "Rendering engine" }, { "name": "browser2", "label": "Browser" }, { "name": "platform2", "label": "Platform(s)" }, { "name": "version2", "label": "Engine version" }, { "name": "grade2", "label": "CSS grade" } ] } ], "asideResizor": true, "asideMinWidth": 150, "asideMaxWidth": 400, "aside": [ { "type": "input-tree", "name": "tree", "treeContainerClassName": "border-0", "options": [ { "label": "Folder A", "value": 1, "children": [ { "label": "file A", "value": 2, "level": 2 }, { "label": "Folder B", "value": 3, "children": [ { "label": "file b1", "value": 3.1, "level": 2 }, { "label": "file b2", "value": 3.2, "level": 2 } ], "level": 1 } ], "level": 1 }, { "label": "file C", "value": 4, "level": 1 }, { "label": "file D", "value": 5, "level": 1 } ] } ] }

jiasijiamn avatar Jul 20 '22 13:07 jiasijiamn

请问input-tree如何判断层级level,我现在是想不同的层级显示不同页面,但是没法得到tree的层数,他没有level属性,通过tree的name和source里面的value无法判断是哪一层的,举个例子: tree的第一层级显示form1,第二层级显示form2,通过visibleOn="level1"和visibleOn="level2",来控制form的显隐,请问如何操作

请问这个功能实现了吗?我和你的功能一样,求指教 非常感谢

jiasijiamn avatar Jul 21 '22 12:07 jiasijiamn

请问input-tree如何判断层级level,我现在是想不同的层级显示不同页面,但是没法得到tree的层数,他没有level属性,通过tree的name和source里面的value无法判断是哪一层的,举个例子: tree的第一层级显示form1,第二层级显示form2,通过visibleOn="level1"和visibleOn="level2",来控制form的显隐,请问如何操作

请问这个功能实现了吗?我和你的功能一样,求指教 非常感谢

解决了,但我不知道是不是官方写法,首先tree不能放到边栏中,要和两个crud一起放到同一个form中,给两个crud分别给name为crud1,crud2,通过tree的autoFill属性将level赋值给crud1和crud2,然后就实现了,下面是我在你原代码的基础上做的修改

{
    "type": "page",
    "body": [
        {
            "type": "form",
            "body": [
                {
                    "type": "grid",
                    "columns": [
                        {
                            "body": [
                                {
                                    "type": "input-tree",
                                    "name": "tree",
                                    "treeContainerClassName": "border-0",
                                    "autoFill": {
                                        "crud1": "${level}",
                                        "crud2": "${level}"
                                    },
                                    "options": [
                                        {
                                            "label": "Folder A",
                                            "value": 1,
                                            "children": [
                                                {
                                                    "label": "file A",
                                                    "value": 2,
                                                    "level": 2
                                                },
                                                {
                                                    "label": "Folder B",
                                                    "value": 3,
                                                    "children": [
                                                        {
                                                            "label": "file b1",
                                                            "value": 3.1,
                                                            "level": 2
                                                        },
                                                        {
                                                            "label": "file b2",
                                                            "value": 3.2,
                                                            "level": 2
                                                        }
                                                    ],
                                                    "level": 1
                                                }
                                            ],
                                            "level": 1
                                        },
                                        {
                                            "label": "file C",
                                            "value": 4,
                                            "level": 1
                                        },
                                        {
                                            "label": "file D",
                                            "value": 5,
                                            "level": 1
                                        }
                                    ]
                                }
                            ],
                            "md": "auto"
                        },
                        {
                            "body": [
                                {
                                    "type": "crud",
                                    "name": "crud1",
                                    "visibleOn": "this.crud1 === 1",
                                    "api": {
                                        "url": "https://3xsw4ap8wah59.cfc-execute.bj.baidubce.com/api/amis-mock/mock2/sample?id=${tree}",
                                        "data": {
                                            "page": "${page}",
                                            "perPage": "${perPage}"
                                        }
                                    },
                                    "syncLocation": false,
                                    "columns": [
                                        {
                                            "name": "id",
                                            "label": "ID"
                                        },
                                        {
                                            "name": "engine",
                                            "label": "Rendering engine"
                                        },
                                        {
                                            "name": "browser",
                                            "label": "Browser"
                                        },
                                        {
                                            "name": "platform",
                                            "label": "Platform(s)"
                                        },
                                        {
                                            "name": "version",
                                            "label": "Engine version"
                                        },
                                        {
                                            "name": "grade",
                                            "label": "CSS grade"
                                        }
                                    ]
                                },
                                {
                                    "type": "crud",
                                    "visibleOn": "this.crud2 === 2",
                                    "api": {
                                        "url": "https://3xsw4ap8wah59.cfc-execute.bj.baidubce.com/api/amis-mock/mock2/sample?id=${tree}",
                                        "data": {
                                            "page": "${page}",
                                            "perPage": "${perPage}"
                                        }
                                    },
                                    "syncLocation": false,
                                    "columns": [
                                        {
                                            "name": "id2",
                                            "label": "ID"
                                        },
                                        {
                                            "name": "engine2",
                                            "label": "Rendering engine"
                                        },
                                        {
                                            "name": "browser2",
                                            "label": "Browser"
                                        },
                                        {
                                            "name": "platform2",
                                            "label": "Platform(s)"
                                        },
                                        {
                                            "name": "version2",
                                            "label": "Engine version"
                                        },
                                        {
                                            "name": "grade2",
                                            "label": "CSS grade"
                                        }
                                    ],
                                    "name": "crud2"
                                }
                            ]
                        }
                    ]
                }
            ],
            "wrapWithPanel": false
        }
    ]
}

969937484 avatar Jul 21 '22 13:07 969937484

你好 上面提供的案例非常有用,非常感谢,现在还有一个问题,期望解答 image

jiasijiamn avatar Jul 29 '22 08:07 jiasijiamn

@jiasijiamn Tree 中 Value 值应该是唯一的 就如同数据表中 id一样

dbkuaizi avatar Jul 29 '22 09:07 dbkuaizi

@jiasijiamn Tree 中 Value 值应该是唯一的 就如同数据表中 id一样

好滴,谢谢您

jiasijiamn avatar Jul 31 '22 12:07 jiasijiamn