मेरे पास एमएस Fabric UI का उपयोग करके फ़ील्ड का एक सेट है जिसे मैं धुंधला करना चाहता हूं यदि radioButton या तो चुना गया है या नहीं।

फ़ील्ड सभी एक घटक के भीतर हैं।

यहाँ कोड है:

<div className={this.state.BlurOrNot === null ? stylesEvalReq.blurText : stylesEvalReq.noBlurText}>
     <br />
       <div>
       <Label className={stylesEvalReq.questionTitle1}>Job Code and Position Details</Label>
       </div> ETC..

मेरे पास यह फ़ंक्शन है जो रेडियो बटन का चयन और परिवर्तित होने पर ट्रिगर होता है:

private _evalTypeChange = (ev: React.FormEvent<HTMLInputElement>, option: any) => {
    this.setState({
      EvalType: option.text
    });
    if(option.text === 'New'){
      this.setState({IsEvalTypeDisabled: false});
    } else if(option.text === 'Re-evaluation') {
      this.setState({IsEvalTypeDisabled: true});
    } else if(option.text === 'Appeal') {
      this.setState({IsEvalTypeDisabled: true});
    }

      if(this.state.EvalType === null) {
       this.setState({
        BlurOrNot: true
       }, () => {console.log(this.state.BlurOrNot+'BlurOrNot if null');});
       return <div className={stylesEvalReq.blurText} />;
      } else if (this.state.EvalType === 'New') {
        this.setState({
        BlurOrNot: false
        },() => {console.log(this.state.BlurOrNot+'BlurOrNot if New'+this.state.EvalType+'evaltype');});
      } else if (this.state.EvalType === 'Re-evaluation') {
        this.setState({
        BlurOrNot: false
        }, () => {console.log(this.state.BlurOrNot+'BlurOrNot if Re-evaluation'+this.state.EvalType+'evaltype');});
      } else if (this.state.EvalType === 'Appeal') {
        this.setState({
        BlurOrNot: false
        }, () => {console.log(this.state.BlurOrNot+'BlurOrNot if Appeal'+this.state.EvalType+'evaltype');});
    } 
  }

लेकिन यह काम नहीं कर रहा है क्योंकि रेडियो बटन खाली होने पर धुंधले फ़ील्ड सही ढंग से दिख रहे हैं लेकिन जब नया रेडियो बटन चुना जाता है तो फ़ील्ड पूरी तरह से गायब हो जाते हैं। मेरा मानना ​​​​है कि यह पिछले चयनित का उपयोग कर सेटस्टेट हो सकता है?

क्या कोई मुझे दिखा सकता है कि मैं कहाँ गलत हो रहा हूँ?

हल होने के बाद संपादित करें: BlurOrNot एक बूलियन शून्य पर सेट है। यह महत्वपूर्ण है! :) और साकिब का जवाब भी नीचे।

1
NightTom 13 नवम्बर 2019, 15:37

1 उत्तर

सबसे बढ़िया उत्तर

केवल एक उदाहरण यदि BlurOrnot सत्य है तो एक वर्ग जो लागू किया जाएगा वह stylesEvalReq.blurText है अन्यथा stylesEvalReq.NotblurText वर्ग लागू किया जाएगा।

यह टर्नरी ऑपरेटर सशर्त शैलियों को बनाने का तरीका है।

className={this.state.BlurOrNot?stylesEvalReq.blurText:stylesEvalReq.NotblurText}

1
Saqib Naseeb 13 नवम्बर 2019, 16:30