【后台管理系统】—— Ant Design Pro 项目爬坑(一)

1、表单rule中可以分对象处理不同规则

<FormItem label="类型名称" {...formLayout}>
      { form.getFieldDecorator('name', {
             rules: [
                    { required: true, message: '请输入2-5字中文、数字、或英文类型名称' },
                    { pattern: /^[\u4E00-\u9FA5A-Za-z0-9]+$/, message: '请输入2-5字中文、数字、或英文类型名称'},
                    { min: 2, max: 5, message: '请输入2-5字中文、数字、或英文类型名称' }
             ],
             initialValue: current && current.name ? current.name : ''
        })(<Input placeholder="请输入" />)}
</FormItem>  

 

2、富文本中的引用、代码、链接没有用

  • 问题原因: 没有考虑到不加媒体文件时,对象中没有url,不用进行字符串替换
  • 解决:添加判断条件
     const defaultContent = (content) => {
              let contentObj = JSON.parse(BraftEditor.createEditorState(content).toRAW());
              let urlArr;
              Object.keys(contentObj.entityMap).forEach((key) => {
    
                // 如果对象里有url,说明有媒体文件,处理标签
                if(contentObj.entityMap[key].data.url){
                  urlArr = contentObj.entityMap[key].data.url.split('/')
                  console.log('默认内容', urlArr);
                  if(urlArr.length == 2){  //ios视频前缀yihezo
                    urlArr.splice(0,1);
                    contentObj.entityMap[key].data.url = `${setFileHost()}`+ 'yihezo/' + urlArr.join('/');
                  }
    
                  if(urlArr.length == 3){  //其它媒体文件前缀sys/tutorail
                    urlArr.splice(0,1);
                    contentObj.entityMap[key].data.url = `${setFileHost()}`+ 'sys/' + urlArr.join('/');
                  }
                }
              });
              let contentRaw = JSON.stringify(contentObj);
              return contentRaw;
    }  
  • 注释:【引用】显示是文字段落前后有缩进
  • 最终解决方法:删掉了代码与引用功能
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值