2016-07-30 12 views
1

私はいくつかの値についてURLをチェックして、チェックボックスをチェック状態にするかどうかを決定しています。これは装飾的なものなのでチェックボックスはクリックできません。小道具が偽であっても、チェックボックスはチェックされたままです

<input 
    type="checkbox" 
    checked={inCurrentFilters({ key: bucket.key, dotField, currentFilters })} 
/> 
{inCurrentFilters({ key: bucket.key, dotField, currentFilters }) ? 'true' : 'false'} 

inCurrentFilters戻りtrueは、チェックボックスをチェックし、それがそれに次のtrueを言うされている場合。その後、falseが返された場合、チェックボックスはチェックされたままで、値はfalseと表示されます。何がありますか?

enter image description here

答えて

1

あなた自身の解決策は、それを解決する最も簡単な方法です。レンダリングするチェックボックスは入力要素なので、デフォルトではユーザーがクリックすることができます。あなたは入力としてそれを使用していないので、pointer-events: noneはそのトリックを行います。

ユーザーエクスペリエンスの観点からは、チェックボックスdisabledを作成するか、見た目が違う2つのアイコンを使用する方が良い場合があります。

デフォルトのチェックボックスを表示することで、チェックボックスをクリックすることができますが、チェックボックスをクリックする必要はありません。

+0

私たちは、チェックボックスの代わりにアイコンを使用しましたが、チェックボックスの入力要素に切り替えました。一部の人がCSSをオフにしても、サイトを表示したいと思っていて、素晴らしいアイコンは表示されません。 – azium

+0

私は参照してください。 「無効にする」もcssなしでトリックを行うだろうが、それは味の問題である。 – wintvelt

0

..だから興味深いことに、それクリック可能だったと私はそれをクリックすることで、機能の状態をオーバーライドました。私はpointerEvents: noneを追加しました。これで問題は解決しますが、より良い方法がありますか?

関連する問題