Как получить все ключи, кроме определенного в Object.keys? - PullRequest
0 голосов
/ 14 марта 2020

Как получить все ключи кроме определенного? Я хочу получить все ключи, кроме "Id", как я могу пропустить это?

Мой код:

const [newContact, setNewContact] = useState({
        id: 1,
        name: {
            value: '',
            type: "text",
            label: "Фио",
            placeholder: "Фио"
        },
        phone: {
            value: '',
            type: "text",
            label: "Номер",
            placeholder: "Номер"
        }
    });

const onHandleRenderInputs = () => {
    return Object.keys(newContact).map((input, index) => {
        const inputControl = newContact[input];
        return (
            <Form.Item label={inputControl.label} style={{display: "flex", flexDirection: "column", alignItems: "flex-start" }} key={index + input}>
                <Input
                    type={inputControl.type}
                    placeholder={inputControl.placeholder}
                    value={inputControl.value} 
                    onChange={e => onHandleSigninUserData(input, e)}
                />
            </Form.Item>
        );
    });
};

Я создаю ввод с помощью Object.keys (), но я делаю не нужны все поля, а только "имя" и "телефон", как мне взять только их?

1 Ответ

3 голосов
/ 14 марта 2020

Вы должны filter массив Object.keys перед отображением каждого элемента в элемент управления вводом. например.

const onHandleRenderInputs = () => {
    return Object.keys(newContact).filter(i=> i !== 'id').map((input, index) => {
        const inputControl = newContact[input];
        return (
            <Form.Item label={inputControl.label} style={{display: "flex", flexDirection: "column", alignItems: "flex-start" }} key={index + input}>
                <Input
                    type={inputControl.type}
                    placeholder={inputControl.placeholder}
                    value={inputControl.value} 
                    onChange={e => onHandleSigninUserData(input, e)}
                />
            </Form.Item>
        );
    });
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...