中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

c#做asp.net網(wǎng)站余姚網(wǎng)站seo運(yùn)營

c#做asp.net網(wǎng)站,余姚網(wǎng)站seo運(yùn)營,微信開放平臺是公眾號嗎,星斗科技 網(wǎng)站建設(shè)最近的需求,兩個下拉框是必填項(xiàng),點(diǎn)擊上傳按鈕,如果有下拉框沒選要有提示,如圖 如果直接使用antd的Upload組件,一點(diǎn)擊文件選擇的窗口就打開了,哪怕在Button里再加點(diǎn)擊事件,也只是(幾乎…

最近的需求,兩個下拉框是必填項(xiàng),點(diǎn)擊上傳按鈕,如果有下拉框沒選要有提示,如圖

如果直接使用antd的Upload組件,一點(diǎn)擊文件選擇的窗口就打開了,哪怕在Button里再加點(diǎn)擊事件,也只是(幾乎)同時處理兩個方法,beforeUpload更是不行,文件都選擇完了才執(zhí)行。

在網(wǎng)上查找,終于看到這位vue選手的一個思路,兩個同位置同樣式的按鈕按某個state切換:

AntD框架上傳文件前校驗(yàn)信息:選擇文件前進(jìn)行內(nèi)容校驗(yàn)并提示

改成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監(jiān)聽:

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

最后上傳按鈕那邊做兩個按鈕,用最上面定義的兩個state來確定展示哪個按鈕(validate里調(diào)用form.validateFields方法做必填提示):

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

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

又看到一篇文章(https://zhuanlan.zhihu.com/p/590018131?utm_id=0),可以更優(yōu)雅地監(jiān)聽form,不用再使用onChange方法和useState,改完發(fā)現(xiàn)自己項(xiàng)目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標(biāo)簽里加上name屬性:

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

效果應(yīng)該是一樣的。

另外發(fā)現(xiàn)使用dataform格式post方法上傳文件,其他數(shù)據(jù)參數(shù)不需要用new FormData()再append進(jìn)去了,直接傳字典就行。

http://www.risenshineclean.com/news/55745.html

相關(guān)文章:

  • wordpress頭條主題中國seo第一人
  • 怎么免費(fèi)建立自己網(wǎng)站網(wǎng)站推廣優(yōu)化的方法
  • 官網(wǎng)站內(nèi)推廣內(nèi)容seo快速推廣竅門大公開
  • 重慶企業(yè)網(wǎng)站建設(shè)解決方案百度銷售系統(tǒng)
  • 無錫做網(wǎng)站排名上海市人大常委會
  • 贊賞分享wordpress代碼360優(yōu)化大師官方官網(wǎng)
  • 微信網(wǎng)頁制作網(wǎng)站長春seo優(yōu)化企業(yè)網(wǎng)絡(luò)躍升
  • 天津市住房與城鄉(xiāng)建設(shè)廳網(wǎng)站百度平臺
  • 昆明網(wǎng)站建設(shè)工作室西安百度seo排名
  • 兼職網(wǎng)網(wǎng)站建設(shè)方案建議書娃哈哈軟文推廣
  • ui設(shè)計(jì)和網(wǎng)站開發(fā)seo效果檢測步驟
  • 撫州市建設(shè)局網(wǎng)站桂林最新消息今天
  • web前端面試以前都是做的小網(wǎng)站怎樣在百度上發(fā)表文章
  • 服務(wù)性網(wǎng)站建設(shè)的原則seo雙標(biāo)題軟件
  • 免費(fèi)的網(wǎng)站在線客服系統(tǒng)關(guān)鍵詞搜索技巧
  • 建設(shè)中網(wǎng)站首頁百度app怎么找人工客服
  • 呼和浩特網(wǎng)站建設(shè)公司網(wǎng)站模板之家
  • 哈爾濱網(wǎng)站制作公司價格廣東seo推廣公司
  • 常用的建站工具有哪些電銷名單渠道在哪里找
  • 外貿(mào)模版網(wǎng)站奉化seo頁面優(yōu)化外包
  • 沒有網(wǎng)站如何做營銷外包公司和勞務(wù)派遣的區(qū)別
  • 網(wǎng)站建設(shè)經(jīng)費(fèi)預(yù)算包括哪些app開發(fā)需要多少錢
  • 外包做網(wǎng)站公司客戶管理軟件crm排名
  • 網(wǎng)站建設(shè)與管理說課稿營銷一體化平臺
  • 網(wǎng)站服務(wù)器租用怎么購買360攝像頭海澳門地區(qū)限制解除
  • 小學(xué)生做創(chuàng)客大賽網(wǎng)站的題開魯網(wǎng)站seo
  • wordpress discuz建站手機(jī)軟文廣告300字
  • wordpress標(biāo)簽tag搜索引擎優(yōu)化好做嗎
  • 上海電子商務(wù)網(wǎng)站開發(fā)武漢百度推廣優(yōu)化
  • 網(wǎng)站建設(shè)技術(shù)進(jìn)行開發(fā)鄭州seo代理商