Rev 467 | AutorÃa | Comparar con el anterior | Ultima modificación | Ver Log |
import React, { useState, useEffect } from "react";
import InputMultiple from "./input-multiple/InputMultiple";
const Option = (props) => {
// get props
const { question } = props;
// init States
const [input, setInput] = useState(question.answer);
/**
* Update question answer
* @param {*} value
*/
const handleAnswer = (value) => {
setInput(value);
question.answer = value;
}
/**
* componentDidMount
*/
useEffect(() => {
setInput(question.answer);
}, [question]);
return (
<div>
{question.options.map((opt, key) => {
return (
<div className="checkbox"
key={key}>
{question.type == 'multiple' &&
<InputMultiple
option={opt}
question={question} />
}
{question.type != 'multiple' &&
<input
type="radio"
name={`${opt.slug_question}`}
value={opt.slug_option}
checked={input == opt.slug_option}
onChange={() => handleAnswer(opt.slug_option)}
/>
}
<div
dangerouslySetInnerHTML={{ __html: opt.text }}
className="option"
/>
</div>
)
})}
</div>
)
}
export default Option;