🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

CSSフレームワーク

CSSフレームワークは、Webページのスタイルを指定する言語であるCSSを容易に構築するためのツールです。ツイッター社が開発した「Bootstrap」や段組レイアウトが可能な「Foundation」など様々なCSSフレームワークがあります。

Q&A

解決済

1回答

3943閲覧

[React, Tailwind CSS] input[type="number"]の矢印を消したいがそのやり方がわからない(ついでにUI/UXの相談も...)

moyong

総合スコア19

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

CSSフレームワーク

CSSフレームワークは、Webページのスタイルを指定する言語であるCSSを容易に構築するためのツールです。ツイッター社が開発した「Bootstrap」や段組レイアウトが可能な「Foundation」など様々なCSSフレームワークがあります。

0グッド

0クリップ

投稿2021/02/24 07:06

編集2021/02/24 07:24

前提・実現したいこと

イメージ説明
右の上下矢印を消したい
今、ReactのJSXの中のinputタグをTailwind CSSを使って修飾しています。

発生している問題

appearance-noneというクラス名があるようですがそれを当てても消えてくれません。

TailwindCSS

1<input 2 className="ml-3 bg-input color-input p-3.5 rounded-3xl outline-none border-none text-lg appearance-none" 3 type="number" 4/>

代わりの案として、このコンポーネントにimportしているcssファイルを使ってクラスをあてることもできると思います。

TrainingInputTsx

1import styles from "./TrainingInput.module.scss";

TrainingInputModuleScss

1.no-spin::-webkit-inner-spin-button, 2.no-spin::-webkit-outer-spin-button { 3 -webkit-appearance: none; 4 margin: 0; 5 -moz-appearance:textfield; 6}

単純にそれだけを当てるとうまくいくのですが、既存のTailwind CSSのクラス名前と併用して書こうとするとエラーになり、どう書けばいいかわからず困っています。
またもし可能なのであれば、Tailwind CSSの設定ファイルを編集して、appearance-noneをカスタマイズすることでも実現できそうな気がしています。
いずれの方法についても調べてみたのですが、情報が見つけられませんでした。

UI/UXについて

合わせて相談なのですが、このようなnumberタイプのinputはUI/UXの観点で避けるべきでしょうか?
用途は筋トレ記録の作成フォームでして、トレーニングの回数(レップ数)の入力を想定しています。
なので1~100くらいの数字が入るだろうと思います。
もしセレクトタグを使う場合、100個以上の選択肢を縦にズラッと表示させるのもどうかと思い、現在手入力で受け付けるようにしています。
僕自身あまりみたことがないので不安です。アドバイスいただけると幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

過去にissueで上がってますね。numberタイプのspinnerに関してappearance-noneが適応されるようにする予定はないと言ってます。ここでも提案されてる通り独自ユーティリティを作って対応するのがいいかと思います。
https://github.com/tailwindlabs/tailwindcss/issues/1101

UI/UXについてですが、numberタイプ使ってる場所なんて山ほどあります。よくnumberはUXがあかんみたいな話がありますが、理由が全角数字が打てないとかの問題です。サーバー側でのバリデーションはどちらにせよ必要になります。
正直一長一短なので好みかとも思いますが、React使うなら、リアクティブにバリデーションしてメッセージ出すところが多いので、textタイプで数値の強制はバリデーション側に任せるのがいいのかなぁ

投稿2021/02/24 08:18

編集2021/02/24 08:19
muteki_gamer

総合スコア157

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

moyong

2021/02/24 11:30

ありがとうございます! そうなんですね...調査不足でした >>React使うなら、リアクティブにバリデーションしてメッセージ出すところが多いので、textタイプで数値の強制はバリデーション側に任せる なるほどです。その方向で試してみます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問