要求
- 实现 hover、selected 状态
- 实现受控组件(双向绑定)
- 接收指定参数
- Vue React 均可
考察点
- 树的遍历
- 基本组件实现的细节
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
}
}
要求
考察点