首页 > 解决方案 > 你如何在 React 中获得 Survey JS 结果?

问题描述

我正在使用 Survey JS 构建一个响应式调查。在用户选择多项选择选项后,我希望根据https://surveyjs.io/Examples/Library/?id=service-result&platform=Reactjs&theme=default显示所有先前答案的图表

var surveySendResult = function (s, options) {
    if (options.success) {
        s.getResult('a15eee7a-9418-4eb4-9671-2009c8ff6b24', 'langs');
    }
};
var surveyGetResult = function (s, options) {
    if (options.success) {
        showChart(options.dataList);
    }
};
function showChart(chartDataSource) {
    document
        .getElementById("chartContainer")
        .style
        .height = "500px";
    $("#chartContainer").dxPieChart({
        dataSource: chartDataSource,
        series: {
            argumentField: 'name',
            valueField: 'value'
        }
    });
}

Survey
    .StylesManager
    .applyTheme("default");

var json = {
    surveyId: '5af48e08-a0a5-44a5-83f4-1c90e8e98de1',
    surveyPostId: '3ce10f8b-2d8a-4ca2-a110-2994b9e697a1'
};

window.survey = new Survey.Model(json);

survey
    .onComplete
    .add(function (result) {
        document
            .querySelector('#surveyResult')
            .textContent = "Result JSON:\n" + JSON.stringify(result.data, null, 3);
    });

ReactDOM.render(<Survey.Survey model={survey} onSendResult={surveySendResult} onGetResult={surveyGetResult}/>, document.getElementById("surveyElement"));

但是,当您在 create-react-app 构建中实现此功能时,您会收到控制台错误并且不会显示结果。错误说“警告:setState(...):在现有状态转换期间无法更新”,并且该 chartContainer 不是函数。

任何帮助将不胜感激。

标签: reactjssurveyjs

解决方案


推荐阅读