bug:dom绑定文字,详情显示文字,点击编辑,不修改任何,点击保存,无法传递给后台id,antd下拉框的问题
解决方案:dom绑定id(要转化为string才行),界面会根据id在下拉选项中找到相应的文字显示在详情页面中。如果显示的是id数字,请注意讲dom中的id转化为string类型,由于antd-select>option的key是string类型,将id强制转化成了string

roleShow = {  
  id: '1',  
  name: '胡彦祖',  
  desc: 42,  
  resources: [  
     {  
       resourceId: 0,  
       resourceName: '数据源管理'  
     },  
     {  
       resourceId: 1,  
       resourceName: '自定义算法管理'  
     }  
 ]}
 
 
 resourceOption = [  
     {  
       resourceId: 0,  
       resourceName: '数据源管理'  
     },  
     {  
       resourceId: 1,  
       resourceName: '自定义算法管理'  
     }  
]
// initialValue配置错误
type !== 'detail' ?  
  getFieldDecorator('resourceIds', {  
    rules: [{required: true, message: '请选择权限!'}],  
    initialValue: roleShow.resources.map(data=>data.resourceName)  
 })( 
     <Select placeholder='请选择权限!' mode='multiple'\>  
         {resourceOption.map(data =><Select.Option key={data.resourceId})>{data.resourceName}</Select.Option>} 
     </Select\>  
 ) : roleShow.resources.map(data => data.resourceName)

效果图:
image.png
image.png

// initialValue配置正确
type !== 'detail' ?  
  getFieldDecorator('resourceIds', {  
    rules: [{required: true, message: '请选择权限!'}],  
    initialValue: roleShow.resources.map(data=>data.resourceId).map(item=>item.toString()) 
 })( 
     <Select placeholder='请选择权限!' mode='multiple'\>  
         {resourceOption.map(data =><Select.Option key={data.resourceId})>{data.resourceName}</Select.Option>} 
     </Select\>  
 ) : roleShow.resources.map(data => data.resourceName)

效果图
image.png
image.png


云端的日子
66 声望1 粉丝