国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Antd】antd form表單的rules文案無(wú)法跟隨狀態(tài)重渲染的原因及解決辦法

這篇具有很好參考價(jià)值的文章主要介紹了【Antd】antd form表單的rules文案無(wú)法跟隨狀態(tài)重渲染的原因及解決辦法。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

問(wèn)題背景

我有兩個(gè)表單項(xiàng),當(dāng)我選擇出庫(kù)類型,調(diào)用onChange改變inOutType 狀態(tài),這時(shí)候發(fā)現(xiàn)這句代碼不生效:

rules={[{ required: true, message: `請(qǐng)選擇${Type === 1 ? '持有' : '負(fù)責(zé)'}` }]}

示例代碼

<TypographyForm.Group>
        <TypographyForm.Item
          label="類型"
          name="Type"
          col={{ span: 24 }}
          rules={[{ required: true, message: '請(qǐng)選擇類型' }]}
        >
          <Select placeholder="類型" loading={inApplyLoading} onChange={onInOutTypeChange}>
            {inApplyType &&
              inApplyType.data?.[3]?.map((item) => (
                <Select.Option value={item?.dictKey} key={item?.dictKey}>
                  {item?.dictValue}
                </Select.Option>
              ))}
          </Select>
</TypographyForm.Item>

<TypographyForm.Item
          label={Type === 1 ? '持有' : '負(fù)責(zé)'}
          name="holderCode"
          col={{ span: 24 }}
          rules={[{ required: true, message: `請(qǐng)選擇${inOutType === 1 ? '持有' : '負(fù)責(zé)'}` }]}
        >
          <ContactsInput config={{ key: 'holderCode' }} />
</TypographyForm.Item>

原因

antd官方為了盡量少造成多余的渲染,把這個(gè)主動(dòng)權(quán)交由開(kāi)發(fā)者自己來(lái)實(shí)現(xiàn),適配更多場(chǎng)景,得到相對(duì)優(yōu)秀的渲染性能文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-642230.html

解決代碼

const onInOutTypeChange = (val) => {
    setType(val);
    // 清除指定字段的規(guī)則
    form.setFieldsValue({ holderCode: '' });
    handleValidateFields();
  };

  const handleValidateFields = () => {
    form
      .validateFields(['holderCode'])
      .then((values) => {
        // 校驗(yàn)成功后的操作
        console.log('校驗(yàn)通過(guò)', values);
      })
      .catch((errorInfo) => {
        // 校驗(yàn)失敗后的操作
        console.log('校驗(yàn)失敗', errorInfo);
      });
  };

到了這里,關(guān)于【Antd】antd form表單的rules文案無(wú)法跟隨狀態(tài)重渲染的原因及解決辦法的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • antd項(xiàng)目中input框的value值不能被修改,form.setFieldsValue 來(lái)動(dòng)態(tài)改變表單值

    antd項(xiàng)目中input框的value值不能被修改,form.setFieldsValue 來(lái)動(dòng)態(tài)改變表單值

    目錄 一、問(wèn)題描述 ????????1.1、環(huán)境 ????????1.2、問(wèn)題展示 ?????????1.3、問(wèn)題代碼展示 ?????????1.4、控制臺(tái)效果 ????????1.5、解釋 二、官網(wǎng)解釋 ????????官網(wǎng)鏈接https://ant.design/components/form-cn 三、解決方案 ????????3.1、修改版部分代碼 ??????

    2024年02月15日
    瀏覽(25)
  • vue3 antd項(xiàng)目實(shí)戰(zhàn)——Form表單的提交與校驗(yàn)【v-model雙向綁定input輸入框、form表單數(shù)據(jù),動(dòng)態(tài)校驗(yàn)規(guī)則】

    vue3 antd項(xiàng)目實(shí)戰(zhàn)——Form表單的提交與校驗(yàn)【v-model雙向綁定input輸入框、form表單數(shù)據(jù),動(dòng)態(tài)校驗(yàn)規(guī)則】

    本文依舊沿用 ant design vue 組件庫(kù)和 ts 語(yǔ)言????更多內(nèi)容見(jiàn)Ant Design Vue官方文檔 ???? vue3 antd項(xiàng)目實(shí)戰(zhàn)——Form表單【后臺(tái)管理系統(tǒng) v-model數(shù)據(jù)的雙向綁定,input輸入框、Radio單選框的嵌套使用】 在上期文章中,我們完成了 UI界面的渲染 (渲染效果如下圖),本期文章將帶著大

    2023年04月22日
    瀏覽(24)
  • 在react antd中動(dòng)態(tài)生成多個(gè) form表單組,包括一個(gè)動(dòng)態(tài)添加/刪除表單項(xiàng)的功能和一個(gè)提交表單的功能

    在這個(gè)示例中,我們首先使用 Form.useForm() 創(chuàng)建一個(gè)表單實(shí)例。接著,我們使用 Form.List 組件來(lái)動(dòng)態(tài)生成多個(gè)表單項(xiàng)。在 Form.List 組件中,我們使用 fields.map 方法循環(huán)渲染每個(gè)表單項(xiàng),并使用 Form.Item 組件包裹每個(gè)表單項(xiàng)。在 Form.Item 組件中,我們使用 label 屬性指定標(biāo)簽,使用

    2024年02月15日
    瀏覽(23)
  • Antd-rules-自定義校驗(yàn)規(guī)則

    Antd-rules-自定義校驗(yàn)規(guī)則

    公司UI出了一個(gè)表單提交的規(guī)則校驗(yàn)效果 需要自定義rules才可以實(shí)現(xiàn) 只要輸入錯(cuò)誤就提示紅色邊框 并且不可以提交 如何實(shí)現(xiàn)? ##解決 antd官方給了案例 自定義校驗(yàn)規(guī)則 實(shí)現(xiàn)如下: 1,需要自定義rules 2,自定義validator 3,填寫(xiě)你的規(guī)則方法 1,需要自定義rules 2,自定義validat

    2024年02月08日
    瀏覽(26)
  • 基于antd@5.x封裝Form.List組件

    基于antd@5.x封裝Form.List組件

    基于antd@5.x封裝Form.List組件 使用案例

    2024年02月16日
    瀏覽(33)
  • React Antd form.getFieldsValue() 和 form.getFieldsValue(true) 有區(qū)別嗎?

    React Antd form.getFieldsValue() 和 form.getFieldsValue(true) 有區(qū)別嗎?

    突然發(fā)現(xiàn) antd 的 getFieldsValue()是可以傳一個(gè) true 參數(shù)的,如題,React Antd form.getFieldsValue() 和 form.getFieldsValue(true) 有區(qū)別嗎? 確實(shí)不一樣 getFieldsValue 提供了多種重載方法: getFieldsValue(nameList?: true | NamePath[], filterFunc?: FilterFunc) 當(dāng)不提供 nameList 時(shí),返回所有注冊(cè)字段,這也包含

    2024年02月11日
    瀏覽(18)
  • react&antd(12)動(dòng)態(tài)表單的默認(rèn)值問(wèn)題

    react&antd(12)動(dòng)態(tài)表單的默認(rèn)值問(wèn)題

    最近遇到一個(gè)需求是有一個(gè)表單可以輸入各種信息,然后還需要有一個(gè)編輯功能,點(diǎn)擊編輯的時(shí)候需要把當(dāng)前數(shù)據(jù)填入到表單里面。在網(wǎng)上查了很多種方法,然后我的思路是使用initialValues搭配setState()使用。默認(rèn)值都為空,然后點(diǎn)擊單條數(shù)據(jù)時(shí)把該條數(shù)據(jù)需要的字段setState()更

    2024年02月11日
    瀏覽(30)
  • 用強(qiáng)數(shù)據(jù)類型保護(hù)你的表單數(shù)據(jù)-基于antd表單的類型約束

    接口數(shù)據(jù)類型與表單提交數(shù)據(jù)類型,在大多數(shù)情況下,大部分屬性的類型是相同的,但很少能做到完全統(tǒng)一。 我在之前的工作中經(jīng)常為了方便,直接將接口數(shù)據(jù)類型復(fù)用為表單內(nèi)數(shù)據(jù)類型,在遇到屬性類型不一致的情況時(shí)會(huì)使用 any 強(qiáng)制忽略類型錯(cuò)誤。 后來(lái)經(jīng)過(guò)自省與思考,

    2024年02月05日
    瀏覽(93)
  • 【react框架】結(jié)合antd做表單組件的一些心得記錄

    【react框架】結(jié)合antd做表單組件的一些心得記錄

    作為一個(gè)前端最常遇見(jiàn)的需求場(chǎng)景就是寫(xiě)表單、寫(xiě)表格。寫(xiě)多了會(huì)逐漸的積累一些開(kāi)發(fā)心得,此文章根據(jù)我使用vue和react的經(jīng)驗(yàn)記錄了一些東西,拋磚引玉的給大家看看。 舉例react項(xiàng)目,在做表單的很多時(shí)候,我都是從antd上把其中一個(gè)form組件例子復(fù)制下來(lái),然后再看看提供了

    2024年02月07日
    瀏覽(49)
  • React Antd可編輯單元格,非官網(wǎng)寫(xiě)法,不使用可編輯行和form驗(yàn)證

    React Antd可編輯單元格,非官網(wǎng)寫(xiě)法,不使用可編輯行和form驗(yàn)證

    antd3以上的寫(xiě)法乍一看還挺復(fù)雜,自己寫(xiě)了個(gè)精簡(jiǎn)版 沒(méi)用EditableRow+Cell的結(jié)構(gòu),也不使用Context、高階組件等,不使用form驗(yàn)證 最終效果: 最后使用的時(shí)候直接在column元素的render里面EditableCell /EditableCell就好啦, props一定要傳處理保存修改的方法 現(xiàn)在這個(gè)可編輯單元格組件在鼠

    2024年02月09日
    瀏覽(17)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包