React-ace: ACE установил начальное значение, эффекта переноса нет, форматировать нельзя

Созданный на 25 дек. 2017  ·  5Комментарии  ·  Источник: securingsincity/react-ace

Проблема

ACE установил начальное значение, эффекта переноса нет, форматировать нельзя
Версия: "реагировать-туз": "^ 5.8.0"

Пример кода для воспроизведения вашей проблемы

this.state.SimBody = {"id":123456,"name":"ACE","age":111};
<AceEditor
                    readOnly={fale}
                    onChange={this.handleGetBody}
                    width="100%"
                    height="500px"
                    mode="json"
                    theme="github"
                    name="aceCodeEditor"
                    onLoad={this.onLoad}
                    fontSize={14}
                    showPrintMargin={true}
                    showGutter={true}
                    highlightActiveLine={true}
                    value={this.state.modelBody}
                    editorProps={{
                      $blockScrolling: true,
                      enableBasicAutocompletion: true,
                      enableLiveAutocompletion: true,
                      enableSnippets: true
                    }}
                    setOptions={{
                      showLineNumbers: true,
                      tabSize: 2
                    }}/>

использованная литература

React-туз
Прогресс: #
Это будет выглядеть так
image
Я ожидаю, как это
image

Самый полезный комментарий

@ Bobcui001 Bobcui001 редактор не форматирует json автоматически, как вы описываете. Однако, чтобы получить его в этом формате JSON.stringify(this.state.modelBody, null, '\t'); Это должно красиво напечатать json, как вы описываете.

Все 5 Комментарий

@ Bobcui001 Bobcui001 редактор не форматирует json автоматически, как вы описываете. Однако, чтобы получить его в этом формате JSON.stringify(this.state.modelBody, null, '\t'); Это должно красиво напечатать json, как вы описываете.

привет, JSON.stringify(this.state.modelBody, null, '\ t') не работает,
когда я ввожу
image
и setValue(JSON.stringify(this.state.modelBody, null, '\t')), он вернул:

image
@securingsincity

@ Аарон-Лей, попробуй
JSON.stringify(JSON.parse(this.state.modelBody), null, 2);

где третий параметр - это количество пробелов, которые вы хотите.

Тот же вопрос @Aaron-Lei

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

РЕДАКТИРОВАТЬ
Так что это произойдет, если вы дважды запустите JSON.stringify в одной и той же строке. Вам нужно запускать JSON.parse для каждого JSON.stringify , иначе вы рискуете добавить дополнительные косые черты.

В моем случае я стригся как в useEffect , так и в управлении состоянием.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги