Установить максимальное удаление поля Redux-Form из Index - проверка поля

Tom Rudge спросил: 03 ноября 2018 в 09:47 в: javascript

https://codesandbox.io/s/zoojymzyp

В моем примере выше есть возможность вставлять и удалять поля для обновления json для отправки. Форма предварительно заполняет поля, которые могут быть перезаписаны или удалены. Тем не менее, я хочу, чтобы оставалось как минимум 1 поле - например, Вы не можете удалить все поля, должно быть хотя бы одно поле - в тот момент, когда я могу удалить все, пока не будет никаких входных данных.

class renderForm extends React.Component {
    render() {
        let {
            fields,
            label
        } = this.props;
        const removeName = (index) => {
            fields = fields.remove(index);
        }
        return ( <
            div >
            <
            div variant = "fab"
            color = "primary"
            className = "jr-fab-btn"
            aria - label = "add"
            onClick = {
                () => fields.push()
            } >
            ADD <
            /div>            {
                fields.map((newIntel, index) => {
                    console.log("newIntel", newIntel, index);
                    return ( <
                        div >
                        <
                        Field name = {
                            newIntel
                        }
                        key = {
                            index
                        }
                        label = {
                            label
                        }
                        placeholder = {
                            label
                        }
                        component = {
                            renderTextArea
                        }
                        /> <
                        p variant = "fab"
                        color = "primary"
                        style = {
                            {
                                'cursor': 'pointer'
                            }
                        }
                        className = "jr-fab-btn"
                        aria - label = "add"
                        onClick = {
                            () => removeName(index)
                        } >
                        REMOVE <
                        /p> <
                        /div>
                    );
                })
            } <
            /div>
        )
    }
}

0 ответов