#reactjs #tradingview-api #react-scroll
Вопрос:
[![введите описание изображения здесь][1]][1]Я использую виджет react trading view, мое требование к клиенту состоит в том, чтобы он прекращал прокрутку при нажатии фиксированной кнопки. Я использовал этот подход, но он остановил все события мыши
мне нужно просто перестать прокручивать график, это серьезная проблема, пожалуйста, помогите:
Положение диаграммы-это состояние, которое изменится при нажатии фиксированной кнопки, просто запомните это
const NewBoard = ({ ticker, theme, selectedTime, chartPosition }) =gt; { return ( lt;div className="custom-range" style={ chartPosition === "Fixed" ? { pointerEvents: "none", height: "75%" } : { pointerEvents: "initial", height: "75%" } } gt; lt;TradingViewWidget id="my_view" symbol={ticker} theme={theme === "LIGHT" ? Themes.LIGTH : Themes.DARK} locale="eng" interval={selectedTime} autosize={true} range={`${chartPosition === "Fixed" ? "ytd" : "all"}`} // withdateranges={true} /gt; lt;/divgt; ); };
Я хочу прекратить прокрутку внутри графика [1]: https://i.stack.imgur.com/6KfTp.png
Комментарии:
1. смотрите эту ссылку :
https://www.tradingview.com/widget/advanced-chart/
Ответ №1:
Вы просто должны установить overflow: hidden
:
const NewBoard = ({ ticker, theme, selectedTime, chartPosition }) =gt; { return ( lt;div className={"custom-range " chartPosition ? "disable-scroll" : ""} style={{ overflow: chartPosition === "Fixed" ? "hidden" : "initial", height: "75%" }} gt; lt;TradingViewWidget id="my_view" symbol={ticker} theme={theme === "LIGHT" ? Themes.LIGTH : Themes.DARK} locale="eng" interval={selectedTime} autosize={true} range={`${chartPosition === "Fixed" ? "ytd" : "all"}`} // withdateranges={true} /gt; lt;/divgt; ); };
и поместите этот стиль в файл css, который импортируется на вашу страницу:
.disable-scroll .chart-container { pointer-events: none }
Комментарии:
1. Не работает, пожалуйста, ознакомьтесь с вопросом
2. Каково имя класса div, у которого есть прокрутка в диаграмме?
3. проблема в том, что он находится внутри iframe, а внутри холста мы не можем его получить
4. Я добавляю имя класса в div, и вы можете его стилизовать:
.disable-scroll iframe canvas { overflow: "hidden"}
5. работает ли он ?