Как получить внутренний HTML-код div в Vaadin Flow, когда contenteditable активен - PullRequest
0 голосов
/ 07 января 2019

У меня проблема с Vaadin Flow. Я хотел бы создать простой текстовый редактор на своем собственном сайте. Я создал простой компонент div с атрибутом элемента contenteditable, установленным на true. На клиентской стороне пользователь сайта редактирует div, и после нажатия кнопки я хотел бы получить внутренний html div на стороне java-сервера. Код ниже не обеспечивает эту функциональность.

Button button = new Button();
Div div = new Div();
div.getElement().setAttribute("contenteditable", "true");
button.setOnMouseClicked(event -> {
    System.out.println(div.getText());
});

Могу ли я использовать полимерный шаблон? Пожалуйста, помогите мне решить эту проблему.

1 Ответ

0 голосов
/ 15 января 2019

Есть возможность использования div.getElement().setProperty("innerHTML", html);. Если вы используете это, обратите внимание, что установка свойства innerHtml изменит некоторое поведение элемента, он больше не будет управлять его дочерними элементами.

Свойство innerHTML влияет на структуру потомков элемент. Так что установка свойства "innerHTML" удаляет все дети.
- из документации

Другая возможность - div.getElement().getOuterHtml();, за исключением того, что возвращает внешний HTML. Здесь все еще стоит упомянуть.

В sidenote вас также может заинтересовать этот компонент редактора .

...