Ввести [число] стрелки из области ввода - PullRequest
0 голосов
/ 06 июня 2019

У меня довольно простой компонент реагирования:

<Quantity type="number" value="1"></Quantity>

, стилизованный с помощью таких стилевых компонентов:

const Quantity = styled.input`
border: 1px solid #000;
border-radius: 2px;
width: 48px;
height: 28px;
font-size: 18px;
text-align: center;
margin-right: 10px
`;

, поэтому теперь это выглядит так:

enter image description here

и я хотел бы, чтобы это выглядело так:

enter image description here

Спасибо!

1 Ответ

1 голос
/ 06 июня 2019

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

const Quantity = styled.input`
   border: 1px solid #000;
   border-radius: 2px;
   width: 48px;
   height: 28px;
   font-size: 18px;
   text-align: center;
   margin-right: 10px

   //hide the default button
   &::-webkit-appearance: textfield;
   &::-moz-appearance: textfield;
   appearance: textfield;

   &::-webkit-inner-spin-button, 
   &::-webkit-outer-spin-button 
   &::-webkit-appearance: none;

`;

const Incrementer = styled.button`
   ...
`;
const Decrementer = styled.button`
   ...
`;
...

const [inputValue, setInputValue] = useState(0);

...

<Incrementer onClick={() => setInputValue(inputValue + 1)} />
<Quantity value={inputValue}/>
<Decrementer onClick={() => setInputValue(inputValue - 1)} />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...