Skip to main content

React Material UI Autocomplete get uncompleted user input

I'm using Material UI's Autocomplete input with react-hook-form like this:

import React from "react";
import {Controller} from "react-hook-form";
import {Autocomplete} from "@mui/material";

export const ControlledAutocomplete = ({
                                           options,
                                           renderInput,
                                           getOptionLabel,
                                           onChange: ignored,
                                           control,
                                           defaultValue,
                                           name,
                                           renderOption,
                                           viewOnly
                                       }) => {
    return (
        <Controller
            defaultValue={defaultValue}
            render={({field: {onChange, ...props}, fieldState: {error}}) => (
                <Autocomplete
                    options={options || []}
                    getOptionLabel={getOptionLabel}
                    isOptionEqualToValue={(option, value) => {
                        if (typeof (value) === 'object') {
                            return option.id === value.id
                        } else {
                            return option.id === value
                        }
                    }}
                    renderOption={renderOption}
                    disabled={viewOnly}
                    autoComplete={true}
                    renderInput={renderInput}
                    onChange={(e, data) => onChange(data)}
                    {...props}
                />
            )}
            control={control}
            name={name}
        />
    );
}

This works great, but I want to get the user input if no suggestion is available. Basically if there is no suggestion from the autocomplete list, I want to get the raw input from user. Is it somehow possible with Autocomplete or with any other input field in MUI?

Via Active questions tagged javascript - Stack Overflow https://ift.tt/2FdjaAW

Comments

Popular posts from this blog

Prop `className` did not match in next js app

I have written a sample code ( Github Link here ). this is a simple next js app, but giving me error when I refresh the page. This seems to be the common problem and I tried the fix provided in the internet but does not seem to fix my issue. The error is Warning: Prop className did not match. Server: "MuiBox-root MuiBox-root-1" Client: "MuiBox-root MuiBox-root-2". Did changes for _document.js, modified _app.js as mentioned in official website and solutions in stackoverflow. but nothing seems to work. Could someone take a look and help me whats wrong with the code? Via Active questions tagged javascript - Stack Overflow https://ift.tt/2FdjaAW

How to show number of registered users in Laravel based on usertype?

i'm trying to display data from the database in the admin dashboard i used this: <?php use Illuminate\Support\Facades\DB; $users = DB::table('users')->count(); echo $users; ?> and i have successfully get the correct data from the database but what if i want to display a specific data for example in this user table there is "usertype" that specify if the user is normal user or admin i want to user the same code above but to display a specific usertype i tried this: <?php use Illuminate\Support\Facades\DB; $users = DB::table('users')->count()->WHERE usertype =admin; echo $users; ?> but it didn't work, what am i doing wrong? source https://stackoverflow.com/questions/68199726/how-to-show-number-of-registered-users-in-laravel-based-on-usertype

Why is my reports service not connecting?

I am trying to pull some data from a Postgres database using Node.js and node-postures but I can't figure out why my service isn't connecting. my routes/index.js file: const express = require('express'); const router = express.Router(); const ordersCountController = require('../controllers/ordersCountController'); const ordersController = require('../controllers/ordersController'); const weeklyReportsController = require('../controllers/weeklyReportsController'); router.get('/orders_count', ordersCountController); router.get('/orders', ordersController); router.get('/weekly_reports', weeklyReportsController); module.exports = router; My controllers/weeklyReportsController.js file: const weeklyReportsService = require('../services/weeklyReportsService'); const weeklyReportsController = async (req, res) => { try { const data = await weeklyReportsService; res.json({data}) console