Mengubah Icon Default dan Posisi pada MUI DatePicker v6

Mengubah Icon Default dan Posisi pada MUI DatePicker v6

Pada awalnya, menggunakan tanggal picker @mui/x-date-pickers 6.x telah menjadi sangat mudah. Namun, sejak berpindah ke slot, banyak contoh yang kurang. Oleh karena itu, dalam artikel ini, kita akan membahas cara mengubah icon default dan posisinya pada MUI DatePicker v6.

Mengubah Icon Default

Untuk mengubah icon default tanggal picker, Anda dapat menggunakan properti slots dan memberikan nilai sebagai objek yang berisi nama slot (inputAdornment) dan icon yang ingin digunakan.

Contoh:

<DatePicker
 slots={{
 inputAdornment: BugReportIcon
 }}
/>

Dalam contoh di atas, icon BugReportIcon akan digunakan sebagai icon default tanggal picker.

Mengubah Posisi Icon

Jika Anda ingin mengubah posisi icon tanggal picker, Anda dapat menggunakan properti slots dan memberikan nilai sebagai objek yang berisi nama slot (inputAdornment) dan properti position.

Contoh:

<DatePicker
 slots={{
 inputAdormanent: BugReportIcon,
 position: 'start'
 }}
/>

Dalam contoh di atas, icon BugReportIcon akan digunakan sebagai icon default tanggal picker dengan posisi awal.

Mengubah Icon dan Posisi

Jika Anda ingin mengubah icon dan posisinya dalam satu waktu, Anda dapat menggunakan properti slots dan memberikan nilai sebagai objek yang berisi nama slot (inputAdornment) dan properti position.

Contoh:

<DatePicker
 slots={{
 inputAdormanent: BugReportIcon,
 position: 'start'
 }}
/>

Dalam contoh di atas, icon BugReportIcon akan digunakan sebagai icon default tanggal picker dengan posisi awal.

Menggunakan Start Adornment

Jika Anda ingin menambahkan adornment ke dalam input tanggal picker, Anda dapat menggunakan properti slotProps.

Contoh:

<DatePicker
 label="Date Picker"
 slotProps={{
 textField: {
 InputProps: { startAdornment: <BugReportIcon /> }
 }
 }}
/>

Dalam contoh di atas, icon BugReportIcon akan digunakan sebagai adornment awal input tanggal picker.

Menggunakan MUI Theme

Jika Anda ingin mengubah icon default dan posisinya pada seluruh aplikasi, Anda dapat menggunakan MUI Theme. Anda dapat menambahkan properti defaultProps ke dalam objek theme untuk mengubah icon default dan posisinya.

Contoh:

import '@mui/material/styles';
import type { DatePickerProps } from '@mui/x-date-pickers';
import type { ComponentsOverrides, ComponentsVariants, Theme } from '@mui/material/styles';
import type { Dayjs } from 'dayjs';

declare module '@mui/material/styles' {

 interface ComponentNameToClassKey {
 MuiDatePicker: 'root' | 'value' | 'unit';
 }

 interface ComponentsPropsList {
 MuiDatePicker: Partial<DatePickerProps<Dayjs>>;
 }

 interface Components {
 MuiDatePicker?: {
 defaultProps?: DatePickerProps<Dayjs>;
 styleOverrides?: Partial<ComponentsOverrides<Theme>['MuiDatePicker']>,
 variants?: ComponentsVariants['MuiDatePicker'];
 }
 }
}

export const myTheme: ThemeOptions = {
 components: {
 MuiDatePicker: {
 defaultProps: {
 slotProps: {
 inputAdornment: {
 position: 'start'
 },
 openPickerButton: {
 color: 'error',
 }
 }
 }
 }
 }
}

Dalam contoh di atas, icon default tanggal picker akan digunakan dengan posisi awal.

Dalam artikel ini, kita telah membahas cara mengubah icon default dan posisinya pada MUI DatePicker v6. Kita dapat menggunakan properti slots untuk mengubah icon default, atau menggunakan MUI Theme untuk mengubah icon default dan posisinya pada seluruh aplikasi.

Leave a comment