open-hand / choerodon-ui

An enterprise UI framework and react-based implementation.
http://choerodon.io
MIT License
316 stars 140 forks source link

Cascader 级联选择 可以支持选择父节点吗? #253

Closed zt1820057934 closed 4 years ago

zt1820057934 commented 4 years ago

0.8.68 版本 Cascader pro 组件, 看文档(https://choerodon.github.io/choerodon-ui/zh/procmp/data-entry/cascader) 没有看到允许支持选择父节点的地方, 只能选叶子节点吗? 截屏2020-08-07 下午2 01 10

sunchir commented 4 years ago

当时为了支持多选,考虑到支持了会出现多种相同的选值就没有弄,你只需要单选满足就行么,后续可以考虑支持,还是看你的需求把

zt1820057934 commented 4 years ago

当时为了支持多选,考虑到支持了会出现多种相同的选值就没有弄,你只需要单选满足就行么,后续可以考虑支持,还是看你的需求把

嗯, 只需满足单选, 现在不支持的话应该怎么弄呢? 新增部门时, 想把它放置在一个已有部门下面, ( 全部父子节点下新加个 当前层级 选择项? )

sunchir commented 4 years ago

一个是可以考虑使用pro tree 的select模式。 就是要改下样式 第二就是用非pro的cascader

zt1820057934 commented 4 years ago

一个是可以考虑使用pro tree 的select模式。 就是要改下样式 第二就是用非pro的cascader

好的好的, 哎? 我刚才看了下, pro tree 里面也没说 支持单独选父节点? 用pro组件因为已经绑定dataSet 了😂

sunchir commented 4 years ago

你看第一个例子pro tree的例子,不要管chek框直接点击节点就知道了。

zt1820057934 commented 4 years ago

好的,懂了, 谢谢

zt1820057934 commented 4 years ago

你看第一个例子pro tree的例子,不要管chek框直接点击节点就知道了。

pro tree 组件没有name属性?它没办法与Form的dataSet一块用吗?

return new DataSet({
        autoQuery: true,
        autoCreate: true,
        axios: axiosInstance,
        fields: [
            { name: 'code', type: FieldType.string, label: '部门编码', required: true, defaultValidationMessages: defaultMessage },
            { name: 'name', type: FieldType.string, label: '部门名称', required: true, defaultValidationMessages: defaultMessage },
            { 
                name: 'pidValue', 
                type: FieldType.string,
                label: '上级部门',
                textField: 'name',
                valueField: 'id',
                options: cascaderOptionDataSet,
            }
        ]
    });
<Form dataSet={insertDataSet}>
            <TextField name='code' />
            <TextField name='name' />
            <Cascader name="pidValue" />;
</Form>

tree没有 name属性, 就得自己单独弄一个dataset? label 得自己设置,这样 样式会不会就乱了,

sunchir commented 4 years ago

这个需要你用textFiled 或者类似Filed 的可以放在form的作为输入框触发tree的展示,然后用dataset绑定他们关系,来做。还有可以考虑cascadeMap看看lov的级联例子。应该可以满足需求只是不能只有一个输入框了。