Я пытаюсь использовать Matuerial UI с библиотекой React упоминания, и в настоящее время у меня есть проблема, в которой мои упоминания и хэштеги не соответствуют тексту. Я попытался добавить пользовательский цвет, чтобы отличить текст от упоминания. что наш стиль в основном такой же, кроме цвета. Я также использовал инструменты Dev, чтобы включить/отключить стили, чтобы определить пробную область
Я с тех пор пробовал удалить родительскую коробку в пользу элемента Div. Br /> Я также лишил весь стиль и ушел с их базовым решением, эта проблема все еще сохраняется. Я открыл проблему на GitHub, но, похоже, проблемы в основном остаются незамеченными их командой. Интересно, столкнулся ли кто -нибудь с этой проблемой, и как вы его решили. Любая информация значительно апреляется. < /P>
Моя текущая реализация < /p>
import { FunctionComponent } from 'react';
import { MentionsInput, Mention } from 'react-mentions';
import { Avatar, Box, Typography, makeStyles } from '@material-ui/core';
import styled, { useTheme } from 'styled-components';
import { useScreenSizes } from 'hooks/use-screen-sizes/useScreenSizes';
import { RICH_TEXT_TRIGGERS } from 'common/constants/richTextTriggers';
import classNames from './styles.module.css';
import { useMentions } from '../../posts/hooks/useMentions';
const useStyles = makeStyles((theme) => ({
root: {
width: '100%',
'& .MuiInput-input': {
fontSize: 'unset',
},
},
}));
export const StyledEllipsisBox = styled(Box)`
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
color: ${(props) => props.theme.colors.accent};
`;
const renderMentionSuggestion = (
suggestion,
search,
highlightedDisplay,
index,
focused,
theme,
isDevice
) => {
const headlineLength = isDevice ? 25 : 55;
return (
{suggestion.display}
{suggestion?.headline?.slice(0, headlineLength)}
{suggestion?.headline?.length > headlineLength && '...'}
);
};
const renderTagSuggestion = (
suggestion,
search,
highlightedDisplay,
index,
focused,
theme,
isDevice
) => (
#{suggestion.display}
{suggestion?.contentCount && `${suggestion?.contentCount} Posts`}
);
interface MentionsInputFieldProps {
value: string;
onChange: (event: React.ChangeEvent) => void;
customStyle?: React.CSSProperties;
placeholderText?: string;
highlighterHeight?: string;
}
export const MentionsInputField: FunctionComponent = ({
value,
onChange,
customStyle,
placeholderText,
highlighterHeight,
}) => {
const { isDevice } = useScreenSizes();
const theme = useTheme();
const { getHashtags, getMentions } = useMentions();
const classes = useStyles();
return (
renderMentionSuggestion(
suggestion,
search,
highlightedDisplay,
index,
focused,
theme,
isDevice
)
}
/>
`#${s}`}
allowSuggestionsAboveCursor
appendSpaceOnAdd
renderSuggestion={(suggestion, search, highlightedDisplay, index, focused) =>
renderTagSuggestion(
suggestion,
search,
highlightedDisplay,
index,
focused,
theme,
isDevice
)
}
/>
);
};
Подробнее здесь: https://stackoverflow.com/questions/793 ... ting-issue
React упоминает с помощью материального пользовательского интерфейса. ⇐ Javascript
Форум по Javascript
1738089682
Anonymous
Я пытаюсь использовать Matuerial UI с библиотекой React упоминания, и в настоящее время у меня есть проблема, в которой мои упоминания и хэштеги не соответствуют тексту. Я попытался добавить пользовательский цвет, чтобы отличить текст от упоминания. что наш стиль в основном такой же, кроме цвета. Я также использовал инструменты Dev, чтобы включить/отключить стили, чтобы определить пробную область
Я с тех пор пробовал удалить родительскую коробку в пользу элемента Div. Br /> Я также лишил весь стиль и ушел с их базовым решением, эта проблема все еще сохраняется. Я открыл проблему на GitHub, но, похоже, проблемы в основном остаются незамеченными их командой. Интересно, столкнулся ли кто -нибудь с этой проблемой, и как вы его решили. Любая информация значительно апреляется. < /P>
Моя текущая реализация < /p>
import { FunctionComponent } from 'react';
import { MentionsInput, Mention } from 'react-mentions';
import { Avatar, Box, Typography, makeStyles } from '@material-ui/core';
import styled, { useTheme } from 'styled-components';
import { useScreenSizes } from 'hooks/use-screen-sizes/useScreenSizes';
import { RICH_TEXT_TRIGGERS } from 'common/constants/richTextTriggers';
import classNames from './styles.module.css';
import { useMentions } from '../../posts/hooks/useMentions';
const useStyles = makeStyles((theme) => ({
root: {
width: '100%',
'& .MuiInput-input': {
fontSize: 'unset',
},
},
}));
export const StyledEllipsisBox = styled(Box)`
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
color: ${(props) => props.theme.colors.accent};
`;
const renderMentionSuggestion = (
suggestion,
search,
highlightedDisplay,
index,
focused,
theme,
isDevice
) => {
const headlineLength = isDevice ? 25 : 55;
return (
{suggestion.display}
{suggestion?.headline?.slice(0, headlineLength)}
{suggestion?.headline?.length > headlineLength && '...'}
);
};
const renderTagSuggestion = (
suggestion,
search,
highlightedDisplay,
index,
focused,
theme,
isDevice
) => (
#{suggestion.display}
{suggestion?.contentCount && `${suggestion?.contentCount} Posts`}
);
interface MentionsInputFieldProps {
value: string;
onChange: (event: React.ChangeEvent) => void;
customStyle?: React.CSSProperties;
placeholderText?: string;
highlighterHeight?: string;
}
export const MentionsInputField: FunctionComponent = ({
value,
onChange,
customStyle,
placeholderText,
highlighterHeight,
}) => {
const { isDevice } = useScreenSizes();
const theme = useTheme();
const { getHashtags, getMentions } = useMentions();
const classes = useStyles();
return (
renderMentionSuggestion(
suggestion,
search,
highlightedDisplay,
index,
focused,
theme,
isDevice
)
}
/>
`#${s}`}
allowSuggestionsAboveCursor
appendSpaceOnAdd
renderSuggestion={(suggestion, search, highlightedDisplay, index, focused) =>
renderTagSuggestion(
suggestion,
search,
highlightedDisplay,
index,
focused,
theme,
isDevice
)
}
/>
);
};
Подробнее здесь: [url]https://stackoverflow.com/questions/79394884/react-mentions-with-material-ui-highlighting-issue[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия