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

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

這篇具有很好參考價(jià)值的文章主要介紹了antd項(xiàng)目中input框的value值不能被修改,form.setFieldsValue 來動(dòng)態(tài)改變表單值。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

目錄

一、問題描述

????????1.1、環(huán)境

????????1.2、問題展示

?????????1.3、問題代碼展示

?????????1.4、控制臺(tái)效果

????????1.5、解釋

二、官網(wǎng)解釋

????????官網(wǎng)鏈接https://ant.design/components/form-cn

三、解決方案

????????3.1、修改版部分代碼

????????3.2、修改版結(jié)果

????????3.3、思路


一、問題描述

????????1.1、環(huán)境

????????????????項(xiàng)目環(huán)境:react+antd

????????????????組件環(huán)境:Modal, Form, Input, Button, InputNumber, Radio

????????1.2、問題展示

????????????????antd input設(shè)置值,前端,react.js

廣告請(qǐng)求權(quán)重只有在所屬頁(yè)面選擇為啟動(dòng)頁(yè)是是非禁用的,其他頁(yè)面都是禁用的狀態(tài)而且廣告請(qǐng)求權(quán)重默認(rèn)為100

現(xiàn)在有一個(gè)問題就是:啟動(dòng)頁(yè)配置了權(quán)重大小,切換到其他頁(yè)面權(quán)重值并沒有改變到100默認(rèn)值

antd input設(shè)置值,前端,react.js

?????????1.3、問題代碼展示

// showRateValue用于存值,用于響應(yīng)式修改值
const [showRateValue, setShowRateValue] = useState(100);

// pageType所屬頁(yè)面的值,用于判斷是否是啟動(dòng)頁(yè)
const [pageType, setPageType] = useState(0);

<Form
  colon
  ref={formRef}
  {...formItemLayout}
  onFinish={onFinish}
  onFinishFailed={value => console.log(value)}
>
  // 所屬頁(yè)面,當(dāng)頁(yè)面radio的值改變時(shí),修改showRateValue的值
  <Item
    label="所屬頁(yè)面"
    name="pageType"
    rules={[{ required: true, message: '所屬頁(yè)面不能空' }]}
  >
    <Radio.Group
      onChange={e => {
        setPageType(e.target.value);
        setShowRateValue(100)
        console.log("showRateValue", showRateValue)
      }}
    >
      <Radio value={0}>首頁(yè)</Radio>
      <Radio value={1}>列表頁(yè)</Radio>
      <Radio value={2}>控制頁(yè)</Radio>
      <Radio value={3}>個(gè)人中心</Radio>
      <Radio value={4}>引導(dǎo)頁(yè)</Radio>
      <Radio value={5}>啟動(dòng)頁(yè)</Radio>
    </Radio.Group>
  </Item>

  // 廣告請(qǐng)求權(quán)重,值綁定為showRateValue
  <Item
    label="廣告請(qǐng)求權(quán)重"
    name="showRate"
    rules={[{ required: true, message: '請(qǐng)輸入0~100的整數(shù)' }]}
    initialValue={showRateValue}
  >
    <InputNumber
      min={0}
      max={100}
      value={showRateValue}
      disabled={pageType == 5 ? false : true}
      formatter={value => `${value}`}
      parser={value => parseInt(value)}
      style={{ width: '100%' }}
    />
  </Item>
</Form>

?????????1.4、控制臺(tái)效果

antd input設(shè)置值,前端,react.js

????????1.5、解釋

? ????????????????點(diǎn)擊啟動(dòng)頁(yè)修改權(quán)重然后回到其他頁(yè)面,發(fā)現(xiàn)showRateValue數(shù)值并沒有改變,還是87,但是,打印出來缺是改變?yōu)?00了的?

二、官網(wǎng)解釋

????????官網(wǎng)鏈接https://ant.design/components/form-cn

被設(shè)置了?name?屬性的?Form.Item?包裝的控件,表單控件會(huì)自動(dòng)添加?value(或?valuePropName?指定的其他屬性)?onChange(或?trigger?指定的其他屬性),數(shù)據(jù)同步將被 Form 接管,這會(huì)導(dǎo)致以下結(jié)果:

  1. 不再需要也不應(yīng)該用?onChange?來做數(shù)據(jù)收集同步(你可以使用 Form 的?onValuesChange),但還是可以繼續(xù)監(jiān)聽?onChange?事件。
  2. 你不能用控件的?value?或?defaultValue?等屬性來設(shè)置表單域的值,默認(rèn)值可以用 Form 里的?initialValues?來設(shè)置。注意?initialValues?不能被?setState?動(dòng)態(tài)更新,你需要用?setFieldsValue?來更新。
  3. 你不應(yīng)該用?setState,可以使用?form.setFieldsValue?來動(dòng)態(tài)改變表單值。

三、解決方案

????????3.1、修改版部分代碼

// 引入使用form
const [form] = Form.useForm();
<Form
  colon
  ref={formRef}
  form={form}
  {...formItemLayout}
  onFinish={onFinish}
  onFinishFailed={value => console.log(value)}
>
  // 使用form.setFieldsValue改變表單里面的值
  <Item
    label="所屬頁(yè)面"
    name="pageType"
    rules={[{ required: true, message: '所屬頁(yè)面不能空' }]}
  >
    <Radio.Group
      onChange={e => {
        setPageType(e.target.value);
        form.setFieldsValue({
          showRate: '100',
        });
      }}
    >
      <Radio value={0}>首頁(yè)</Radio>
      <Radio value={1}>列表頁(yè)</Radio>
      <Radio value={2}>控制頁(yè)</Radio>
      <Radio value={3}>個(gè)人中心</Radio>
      <Radio value={4}>引導(dǎo)頁(yè)</Radio>
      <Radio value={5}>啟動(dòng)頁(yè)</Radio>
    </Radio.Group>
  </Item>

  //這里的initialValue,以及inputNumber中的value并不需要綁定響應(yīng)式的值,沒有用
  <Item
    label="廣告請(qǐng)求權(quán)重"
    name="showRate"
    rules={[{ required: true, message: '請(qǐng)輸入0~100的整數(shù)' }]}
    initialValue={100}
  >
    <InputNumber
      min={0}
      max={100}
      disabled={pageType == 5 ? false : true}
      formatter={value => `${value}`}
      parser={value => parseInt(value)}
      style={{ width: '100%' }}
    />
  </Item>
</Form>

????????3.2、修改版結(jié)果

antd input設(shè)置值,前端,react.js

????????????????切換就立馬改變?

antd input設(shè)置值,前端,react.js

????????3.3、思路

????????????????a)引入 const [form] = Form.useForm();

????????????????b)在Form中加入:form={form}

????????????????c)使用form.setFieldsValue對(duì)數(shù)據(jù)進(jìn)行修改文章來源地址http://www.zghlxwxcb.cn/news/detail-609544.html

到了這里,關(guān)于antd項(xiàng)目中input框的value值不能被修改,form.setFieldsValue 來動(dòng)態(tài)改變表單值的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(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)文章

  • 【react】記錄一次react組件props依賴異步數(shù)據(jù)(setFieldsValue)后傳遞form給子組件,再逐層傳遞給孫子組件引起的未渲染異常

    背景 react祖父組件設(shè)置異步數(shù)據(jù)(setFieldsValue)后傳遞form給子組件,再逐層傳遞給孫子組件引起的未渲染異常,孫子組件如果不設(shè)置useEffect和useState去監(jiān)聽value的值進(jìn)行重渲染,會(huì)出現(xiàn)獲取得到value最新值,但是不進(jìn)行渲染的異常 解決前后的代碼對(duì)比 完整代碼(異常): 完整

    2024年01月17日
    瀏覽(26)
  • 前端使用css去除input框的默認(rèn)樣式
  • 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)
  • 【Antd】antd form表單的rules文案無法跟隨狀態(tài)重渲染的原因及解決辦法

    問題背景 我有兩個(gè)表單項(xiàng),當(dāng)我選擇出庫(kù)類型,調(diào)用onChange改變inOutType 狀態(tài),這時(shí)候發(fā)現(xiàn)這句代碼不生效: 示例代碼 原因 antd官方為了盡量少造成多余的渲染,把這個(gè)主動(dòng)權(quán)交由開發(fā)者自己來實(shí)現(xiàn),適配更多場(chǎng)景,得到相對(duì)優(yōu)秀的渲染性能 解決代碼

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

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

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

    2024年02月16日
    瀏覽(33)
  • textarea輸入框的內(nèi)容如何原模原樣的展示出來?(適用于一些antd design框架以及element ui框架)

    textarea輸入框的內(nèi)容如何原模原樣的展示出來?(適用于一些antd design框架以及element ui框架)

    筆者在工作的時(shí)候遇到了一個(gè)問題,在寫一個(gè)新建頁(yè)面的需求的時(shí)候,遇到一個(gè)問題:新建頁(yè)面的文本框里用戶輸入的內(nèi)容格式,前端要返回這些數(shù)據(jù)給后端,后端又不想做空格以及換行的判斷處理,,所以后端在返回給前端的數(shù)據(jù)其實(shí)是一大串沒有格式的字符串,但是又要

    2024年02月12日
    瀏覽(18)
  • jq——監(jiān)聽input組件type=“radio“單選框的change事件——基礎(chǔ)積累

    jq——監(jiān)聽input組件type=“radio“單選框的change事件——基礎(chǔ)積累

    jq的基操,但是由于本人jq操作dom不熟悉,用vue習(xí)慣了,所以還是要記錄一下jq的基操,多多積累,多多收獲。 1.html代碼 2.css代碼 3.js代碼 完成!??! 多多積累,多多收獲?。。?1. attr(): 作用:獲取/設(shè)置元素的屬性 //獲取北京節(jié)點(diǎn)的name屬性值 var bj = $(“#bj”).attr(“name”);

    2024年02月11日
    瀏覽(35)
  • 【已解決】React Antd Form.List 表單校驗(yàn)無飄紅提示的問題

    【已解決】React Antd Form.List 表單校驗(yàn)無飄紅提示的問題

    我想對(duì) Form.List 構(gòu)建的表單進(jìn)行校驗(yàn),比如下拉框中的內(nèi)容應(yīng)當(dāng)至少有一個(gè) XX,表單的長(zhǎng)度不能少于多少等等對(duì) List 內(nèi)容進(jìn)行校驗(yàn),并給出飄紅提示 比如我有這樣一段代碼來實(shí)現(xiàn)對(duì) list 具體內(nèi)容的校驗(yàn),但是寫完后發(fā)現(xiàn)沒有提示,打 console.log 發(fā)現(xiàn)也能進(jìn)入到 throw new Error 里面

    2024年02月15日
    瀏覽(33)
  • 【uniapp】小程序中input輸入框的placeholder-class不生效解決辦法

    問題描述 uniapp微信小程序,使用input組件時(shí),想要改變提示詞 placeholder 的樣式,但是使用 placeholder-class 改變不了 如下: 問題分析? 如果你在使用`scoped`屬性時(shí)無法改變`placeholder`的樣式,可能是由于 樣式的優(yōu)先級(jí)問題 。在CSS中,選擇器的優(yōu)先級(jí)是根據(jù)其特定性和聲明順序來

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

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

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

    2024年02月09日
    瀏覽(17)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包