当前位置: 首页 > news >正文

做视频网站视频放在哪里有什么做兼职的好网站

做视频网站视频放在哪里,有什么做兼职的好网站,代理注册公司需要什么资料,wordpress h5插件最近的需求,两个下拉框是必填项,点击上传按钮,如果有下拉框没选要有提示,如图 如果直接使用antd的Upload组件,一点击文件选择的窗口就打开了,哪怕在Button里再加点击事件,也只是(几乎…

最近的需求,两个下拉框是必填项,点击上传按钮,如果有下拉框没选要有提示,如图

如果直接使用antd的Upload组件,一点击文件选择的窗口就打开了,哪怕在Button里再加点击事件,也只是(几乎)同时处理两个方法,beforeUpload更是不行,文件都选择完了才执行。

在网上查找,终于看到这位vue选手的一个思路,两个同位置同样式的按钮按某个state切换:

AntD框架上传文件前校验信息:选择文件前进行内容校验并提示

改成react写法,把除了文件以外的payload获取放到beforeUpload里

const [uploadData, setUpLoadData] = useState(null);
const [selectMonth, setSelectMonth] = useState(false);
const [selectaaa, setSelectaaa] = useState(false);const handleBeforeUpload = file => {if (!/.xls?$/.test(file.name) && !/.xlsx?$/.test(file.name)) {message.error('...');return false;}form.validateFields((err, fieldsValue) => {if (err) return;const month = moment(fieldsValue.month).format('YYYY-MM');setUpLoadData({...fieldsValue, month: month});});return true;
};

组件里加onChange监听:

<FormItem label="月份" {...formItemLayout}>  {getFieldDecorator('month', {rules: [{ required: true, message: '请选择月份' }],})(<MonthPicker onChange={value => value ? setSelectMonth(true) : setSelectMonth(false)}/>)}
</FormItem>

最后上传按钮那边做两个按钮,用最上面定义的两个state来确定展示哪个按钮(validate里调用form.validateFields方法做必填提示):

{selectDepartment && selectMonth ? (<Uploadaction={uploadUrl}data={uploadData}showUploadList={false}onChange={handleUpload}beforeUpload={handleBeforeUpload}withCredentialsheaders={}><Button type="primary" style={}><Icon type='cloud-upload' /> 上传数据 </Button></Upload>
) : (<Button type="primary" style={} onClick={()=>validate()}><Icon type='cloud-upload' /> 上传数据 </Button>                          )
}

就可以做到最开始提到的效果啦。

又看到一篇文章(https://zhuanlan.zhihu.com/p/590018131?utm_id=0),可以更优雅地监听form,不用再使用onChange方法和useState,改完发现自己项目antd版本太低了用不了,从antd@4.20.0 开始,antd Form 添加了一个新的 API ->Form.useWatch

const [form] = Form.useForm();
const aaa = Form.useWatch('aaa', form);
const month = Form.useWatch('month', form);

在form item标签里加上name属性:

<FormItem label="月份" {...formItemLayout} name='month'>

效果应该是一样的。

另外发现使用dataform格式post方法上传文件,其他数据参数不需要用new FormData()再append进去了,直接传字典就行。

http://www.yayakq.cn/news/418146/

相关文章:

  • 网站提交收录入口链接网站频道运营怎么做
  • 网站建设 需求宣传制作清单及价格
  • 泉州网站排名优化网页游戏知乎
  • 一个空间放2个网站工程与建设
  • 学习网页制作的网站Wordpress主题 修改 价钱
  • windows7PHP网站建设江苏有什么网站找工程建设人员
  • 网站手册竞价排名点击器
  • 郑州建设网站推广公司主页制作
  • 做网站游戏都需要什么泰安房产网签住宅
  • 厦门三五互联可以做网站吗百度置顶广告多少钱
  • 织梦网站关闭重视网站建设
  • 99元一月做网站企业网络推广电话
  • 东莞三网合一网站制作家政保洁服务网站模板
  • 负责网站的建设规划长春网站建设培训班
  • 自己做的网站图片加载过慢加盟网站制作费用
  • 制作网站和制作网页的分别电子商务网站建设自服务器
  • 怎么样让网站快速收录wordpress的使用
  • 控制台网站网站建设属于什么工作
  • 公司网站展示有哪些深圳网站制作推广
  • 上海建筑建材业网站开发软件的app有哪些
  • 网站建设与管理考察报告装饰设计网站推荐
  • 我的世界做封面网站it行业干什么
  • android开发教程网站监理工程师查询系统入口
  • 网站建设 钱wordpress去除帮助
  • 做网站绿色和什么颜色搭配苏州seo网络优化公司
  • 网站维护服务关于学校网站建设的需求分析
  • 手机网站建设创意新颖山东企业
  • 天网站建设苏州网站建设托管
  • 企业网站推广的方法有搜索引擎推广如何建网站模板
  • 东莞四网合一网站建设深圳百度推广