Элементы управления бок о бок в React DOM с использованием API

Я борюсь с этим, хотел показать ряд элементов управления над сеткой.

               const lblPG = React.createElement('h3', {}, 'Product Group');
        const cboPG = React.createElement(ComboBox, props);
        const elementPG = React.createElement(React.Fragment, null, lblPG, cboPG);

        const lblTT = React.createElement('h3', {}, 'Task Type');
        const cboTT = React.createElement(ComboBox, props);
        const elementTT = React.createElement(React.Fragment, null, lblTT, cboTT);

        const toprow = React.createElement('span', {},
            elementPG, elementTT);

        const list =
            React.createElement('div', {},
                toprow,
                React.createElement(DetailsListGrid, appProps)
            );

        ReactDOM.render(
            list,
            this._container
        );

Приведенный выше код приводит к появлению жгута PCF:

Хотелось бы иметь вот такое:

2 ответа

Решение

Хорошо, вот как я решил это, используя некоторые хитрости CSS.

Добавлен класс CSS:

.flexdiv{
    display:inline-flex;
    text-align:left;
    margin-left: 5 px;
    clear:both;
}

.cleardiv{
    text-align:left;
    clear:both;
}

и манипулировал DOM следующим образом:

        const toprow = React.createElement('div', { className: "flexdiv" },
            elementPG, spacer, elementTT);

        const list =
            React.createElement('div', { className: "cleardiv" },
                toprow,
                React.createElement(DetailsListGrid, appProps)
            );

Пожалуйста, используйте JSX вместо того, чтобы создавать элементы, указанные выше. Кроме того, используйте свойство CSS block/inline для настройки элементов, как показано здесь: https://www.w3schools.com/Css/css_inline-block.asp

Другие вопросы по тегам