Skip to content

实现一个不定项级联选择器 #1

Description

@MrTreasure

要求

  1. 实现 hover、selected 状态
  2. 实现受控组件(双向绑定)
  3. 接收指定参数
  4. Vue React 均可

考察点

  1. 树的遍历
  2. 基本组件实现的细节
interface CascaderItem {
    label: string
    value: string | number
    children?: CascaderItem[]
}

interface CascaderProp {
    datasource: CascaderItem[]
    placeholder?: string
    styles: React.styles
    disabled?: boolean
    value: string[] | number[]
    onChange?: (values: string[] | number[]) => void
}

const datasource = {
    {
        label: '北京',
        value: 1
    },
    {
        label: '上海',
        value: 2
    },
    {
        label: '四川',
        value: 3,
        children: [
            {
                label: '成都',
                value: 31,
                children: [
                    {
                        label: '高新区',
                        value: 311
                    },
                    {
                        label: '天府新区',
                        value: 312
                    },
                    {
                        label: '武侯区',
                        value: 313
                    }
                ]
            },
            {
                label: '攀枝花',
                value: 32
            }
        ]
    },
    {
        label: '江西',
        value: 4,
        children: [
            {
                label: '南昌',
                value: 41
            },
            {
                label: '九江',
                value: 42
            },
            {
                label: '上饶',
                value: 43
            }
        ]
    },
    {
        label: '湖南'
        value: 5
    }
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions