Material-ui: [Dialog] onRequestClose يبدو أنه لم يتم طرده - ما الخطأ الذي أفعله؟

تم إنشاؤها على ٦ ديسمبر ٢٠١٥  ·  3تعليقات  ·  مصدر: mui-org/material-ui

أنا أختبر مع ReactJS وأستخدم Material-Ui. بالنسبة لمكون اختبار صغير ، أستخدم مربع الحوار. أنا أستخدم نفس الكود كما في المثال الخاص بك ولكن يبدو أن هذا لا يعمل. ربما هناك خطأ أو المستندات لم تكن واضحة بما يكفي بالنسبة لي.

ها هي المدونة

const {Dialog, FlatButton} = MUI;

Home = React.createClass({
  getInitialState() {
    return {
      welcomeModal: false
    };
  },
  openWelcomeDialog() {
    this.setState({welcomeModal:true});
  },
  closeWelcomeDialog(buttonClicked) {
    console.log('Close The Welcome Dialog.');
    this.setState({welcomeModal:false});
  },
  render() {
    let modalActions = [
      { text: 'Cancel' }
    ];
    return (
      <div>
        <h1>Welcome to my app</h1>
        <a href="#" onClick={this.openWelcomeDialog}>Open the Welcome Modal</a>
        <Dialog
          title="Welcome Modal"
          actions={modalActions}
          autoDetectWindowHeight={true}
          autoScrollBodyContent={true}
          open={this.state.welcomeModal}
          onRequestClose={this.closeWelcomeDialog}>
        <div style={{height: '1000px'}}>
          Really long content
        </div>
        </Dialog>
      </div>
    );
  }
});

ماذا يحدث:

عندما أنقر على الرابط ، سيتم إطلاق الحدث وسيتم فتح النموذج بالطريقة الصحيحة. لكن: لا يهم ما أقوم بالنقر فوقه إذا كان في الخلفية أو على زر إلغاء الأمر: لن يتم إغلاق Modal وأيضًا لن يتم تشغيل console.log ... لذلك: لن يتم استدعاء الطريقة! في المثال الخاص بي من المستحيل إغلاق الوسائط.

التعليق الأكثر فائدة

لدي نفس المشكلة ، وأنا أستخدم injectTapEventPlugin() . ويبدو أن كل شيء آخر متعلق بالأحداث يعمل. هل يجب أن أتحقق من شيء آخر؟

المشكلة هي نفسها إلى حد كبير كما في الموضوع الافتتاحي ، بغض النظر عن المكان الذي أنقر فيه - لا يتم تشغيله.

ال 3 كومينتر

أولاً ، هل تتصل بـ injectTapEventPlugin() ؟

أوه .. 'rly؟ الآن يعمل. كنت أحاول العثور على المشكلة لفترة من الوقت الآن ...

لذا فإن الجواب هو: لا ، لم أكن أسميها. لم أر هذا مُشار إليه في مستندات Material-Ui. oliviertassinari شكرا!

لدي نفس المشكلة ، وأنا أستخدم injectTapEventPlugin() . ويبدو أن كل شيء آخر متعلق بالأحداث يعمل. هل يجب أن أتحقق من شيء آخر؟

المشكلة هي نفسها إلى حد كبير كما في الموضوع الافتتاحي ، بغض النظر عن المكان الذي أنقر فيه - لا يتم تشغيله.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات

القضايا ذات الصلة

iamzhouyi picture iamzhouyi  ·  3تعليقات

revskill10 picture revskill10  ·  3تعليقات

finaiized picture finaiized  ·  3تعليقات

chris-hinds picture chris-hinds  ·  3تعليقات

ghost picture ghost  ·  3تعليقات