欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Ant?Design自定義輸入框Input組件樣式的示例代碼

 更新時間:2025年07月15日 08:57:02   作者:前端風云志  
文章介紹如何通過React+AntDesign自定義Input輸入框樣式,利用variant屬性實現(xiàn)下劃線邊框,并通過Form的requiredMark屬性將必選標志置于label右側(cè),提供完整代碼示例及關(guān)注鼓勵,感興趣的朋友一起看看吧

介紹

今天接到一個需求,需要自定義一個Input輸入框,我們的項目使用React + Ant Design進行開發(fā),按理說Ant Design已經(jīng)提供了非常豐富的組件樣式,但有時候還是無法滿足特定的需求,比如我們的輸入框要求渲染成下面的樣子

而Ant Design的Input組件默認的渲染結(jié)果是這樣的。

仔細觀察這兩個輸入框,他們的區(qū)別如下:

  • 輸入框的樣式不同,自定義的輸入框要求用下劃線。
  • 必選標志(紅色星號)位置不同,自定義的輸入框必選標志在label的右側(cè)。

下面我們依次來實現(xiàn)這兩個需求:

Input組件使用下劃線樣式

Ant Design的Input提供了variant屬性來控制輸入框的樣式,我們可以將其設(shè)置為underline來實現(xiàn)下劃線樣式。

<Input
  variant="underlined" // 設(shè)置下劃線樣式
  style={{ width: '200px' }}
  placeholder="請輸入內(nèi)容"
/>

調(diào)整必選標志位置

Ant Design的Input組件并未提供相關(guān)設(shè)置,但是Form組件提供了requiredMark屬性來控制必選標志的樣式,我們可以通過這個屬性來自行渲染必選標志,這個方式非常靈活,可以渲染成任何你想要的樣子。

首先定義一個函數(shù)用來渲染自定義的必選標志,這個函數(shù)接受兩個參數(shù),一個是標簽,另一個是boolean變量,用來指示當前控件是否為必選項。

函數(shù)邏輯也十分簡單,首先渲染label。然后當requiredtrue時,渲染一個紅色的星號,否則不渲染任何內(nèi)容。

const customizeRequiredMark = (label: React.ReactNode, { required }: { required: boolean }) => (
  <>
    {label}
    {required ? <span style={{color: 'red'}}>*</span> : null}
  </>
);

接下來,將Input組件用Form包裹起來,并應用上面的自定義函數(shù)即可。

// 使用requiredMark屬性來應用自定義的必選標志
<Form requiredMark={customizeRequiredMark}>
  <Form.Item
    label='name' name='name'
    rules={[{ required: true }]}>
    <Input
      variant="underlined"
      style={{ width: '200px' }}
      placeholder="請輸入內(nèi)容"
    />
  </Form.Item>
</Form>

完整代碼如下:

import { Form, Input } from 'antd';
import React from 'react';
const customizeRequiredMark = (label: React.ReactNode, { required }: { required: boolean }) => (
  <>
    {label}
    {required ? <span style={{color: 'red'}}>*</span> : null}
  </>
);
export default function CustomizeInput() {
  return (
    <Form requiredMark={customizeRequiredMark}>
      <Form.Item
        label='name' name='name'
        rules={[{ required: true }]}>
        <Input
          variant="underlined"
          style={{ width: '200px' }}
          placeholder="請輸入內(nèi)容"
        />
      </Form.Item>
    </Form>
  );
}

今天就到這里了,我們明天見,碼字不易,如果覺得有用就關(guān)注一下,您的關(guān)注,是我持續(xù)輸出的動力!

到此這篇關(guān)于Ant Design如何自定義輸入框(Input)組件樣式的文章就介紹到這了,更多相關(guān)Ant Design如何自定義輸入框(Input)組件樣式內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 一種Javascript解釋ajax返回的json的好方法(推薦)

    一種Javascript解釋ajax返回的json的好方法(推薦)

    下面小編就為大家?guī)硪黄环NJavascript解釋ajax返回的json的好方法(推薦)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-06-06
  • js調(diào)用百度地圖及調(diào)用百度地圖的搜索功能

    js調(diào)用百度地圖及調(diào)用百度地圖的搜索功能

    本文給大家介紹js調(diào)用百度地圖的方法以及調(diào)用百度地圖的搜索功能,有需要的朋友可以跟著腳本之家的小編一起學習
    2015-09-09
  • JavaScript Promise啟示錄

    JavaScript Promise啟示錄

    近幾年隨著JavaScript開發(fā)模式的逐漸成熟,CommonJS規(guī)范順勢而生,其中就包括提出了Promise規(guī)范,Promise完全改變了js異步編程的寫法,讓異步編程變得十分的易于理解
    2014-08-08
  • javascript學習筆記之函數(shù)定義

    javascript學習筆記之函數(shù)定義

    本文主要給大家介紹了javascript的一些函數(shù)定義方面的基礎(chǔ)知識,包括函數(shù)聲明式、函數(shù)表達式、Function 構(gòu)造函數(shù)等,十分的簡單實用,有需要的小伙伴可以參考下。
    2015-06-06
  • JavaScript中將一個值轉(zhuǎn)換為字符串的方法分析[譯]

    JavaScript中將一個值轉(zhuǎn)換為字符串的方法分析[譯]

    在JavaScript中,主要有三種方法能讓任意值轉(zhuǎn)換為字符串.本文講解了每種方法以及各自的優(yōu)缺點
    2012-09-09
  • 基于javascript處理nginx請求過程詳解

    基于javascript處理nginx請求過程詳解

    這篇文章主要介紹了基于javascript處理nginx請求過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-07-07
  • javascript實現(xiàn)仿百度圖片的瀑布流加載效果

    javascript實現(xiàn)仿百度圖片的瀑布流加載效果

    這是一款仿照百度圖片的瀑布流效果,可以無限加載,兼容各大主流瀏覽器,這里分享給大家,希望小伙伴們能夠喜歡
    2016-04-04
  • JS常用時間操作moment.js的使用方法

    JS常用時間操作moment.js的使用方法

    Moment.js是一個輕量級的JavaScript時間庫,通常會對時間進行下面這幾個操作:比如獲取時間,設(shè)置時間,格式化時間,比較時間等等,本文就來介紹一下如何使用,感興趣的可以了解下
    2023-09-09
  • OpenLayer3自定義測量控件MeasureTool

    OpenLayer3自定義測量控件MeasureTool

    這篇文章主要為大家詳細介紹了OpenLayer3自定義測量控件MeasureTool,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-09-09
  • 基于javascript實現(xiàn)動態(tài)時鐘效果

    基于javascript實現(xiàn)動態(tài)時鐘效果

    這篇文章主要為大家詳細介紹了基于javascript實現(xiàn)動態(tài)時鐘效果的相關(guān)資料,動態(tài)顯示系統(tǒng)當前時間,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-02-02

最新評論