省份选择Zhejiang 城市会切换到hangzhou,但选择hubei后,城市下拉列表仍然展示hangzhou,参考fussion,选择省份后清除城市, setCityData([]),但没有效果。
demo地址:
fusion下拉列表级联没有问题:https://fusion-demo.alibaba-inc.com/demos/next/select
import React, { useState, useCallback } from 'react'
import { Select } from '@alicloud/console-components'
import styled from 'styled-components'
const provinceDataSource = ['Zhejiang', 'Hubei', 'Jiangsu']
const cityDataSource = {
Zhejiang: ['Hangzhou', 'Ningbo', 'Wenzhou'],
Hubei: ['Wuhan', 'Yichang', 'Jingzhou'],
Jiangsu: ['Nanjing', 'Suzhou', 'Zhenjiang'],
}
const SWrapper = styled.divbackground-color: #f8f8f8; padding: 16px; .next-select { margin-right: 10px; }
const Demo5 = () => {
const [cityData, setCityData] = useState([])
const [province, setProvince] = useState(undefined)
const [city, setCity] = useState(undefined)
const [disabled, setDisabled] = useState(true)
const handleProvinceChange = useCallback(value => {
const cities = cityDataSource[value]
setCityData([])
setCityData(cities)
setProvince(value)
setDisabled(!cities)
}, [])
const handleCityChange = useCallback(value => {
setCity(value)
}, [])
return (
)
}
export default Demo5