在antd的
Cascader级联标签
中,想要用变量来控制默认值的显示,经过尝试发现默认值只能写死某个数,Select标签
也是一样。例如:
defaultValue默认值为写死的某个数组
<Cascader key={aabbcc}
options={this.state.activeStoreCategoryList}
expandTrigger="hover"
defaultValue={[440,442,626]}
onChange={this.categoryChange}
/>
解决办法:为Cascader
组件新增一个key
属性,并且key
的属性值和defaultValue
的属性值保持一致,也就是说这两个的属性值是同一个变量 即可解决该问题。简单举两个例子
- 例一:
Cascader级联标签
render() {
const aa = this.state.oneLevel;// 440
const bb = this.state.secondLevel;// 442
const cc = this.state.selectCategoryId;// 626
var aabbcc = [aa,bb,cc];// [440,442,626]
return (
<Cascader key={aabbcc}
options={this.state.activeStoreCategoryList}
expandTrigger="hover"
defaultValue={aabbcc}
onChange={this.categoryChange}
/>
)
}
- 例二:
Select标签
render() {
const currentStorePayStatus = this.state.storePayTypeId;// -1 、5、6、1
return (
<li className="type_margin">
<span>店铺版本</span>
<Select
key={currentStorePayStatus}
defaultValue={currentStorePayStatus}
style={{ width: 150 }}
onChange={this.storeTypeChange}
>
<Option value="-1">不限</Option>
<Option value="5">标准版</Option>
<Option value="6">专业版</Option>
<Option value="1">旗舰版</Option>
</Select>
</li>
)
}
网友评论