我正在使用模块react-simple-contenteditable来编辑空白工作表中的填充.我必须使用内容可编辑元素而不是输入元素的原因是因为我希望包装问题的文本.例如,如果问题只有一个空白,它会将文本分为三部分,即空白部分,空白部分和之后的部分.如果我将外部两个表示为单独的divs(或输入字段),则文本不会像段落那样换行.相反,我必须有一个单独的contenteditable div包含左侧空白和自由文本的输入字段.
文本像我想要的那样包装,但是当我在contenteditable字段中键入文本时,光标会跳转到开头.我不明白为什么因为我在模块的github网站上尝试了这个例子并且它工作得很好,虽然我的实现有点复杂,但它的工作方式基本相同.
这是我的渲染函数,它使用<ContentEditable />:
render() {
const textPieces =
<div className='new-form-text-pieces'>
{
this.props.problem.textPieces.map( (textPiece, idx) => {
if (textPiece.blank) {
return (
<div data-blank={true} className='blank' key={ textPiece.id } style={{display: 'inline'}}>
<input
placeholder="Answer blank"
className='new-form-answer-input'
value={ this.props.problem.textPieces[idx].text }
onChange={ (event) => this.props.handleTextPiecesInput(this.props.problemIdx, idx, event.target.value) }
/>
<button className='modify-blank remove-blank' onClick={ (event) => this.props.removeBlank(this.props.problemIdx, idx) }>-</button>
</div>
);
} else {
let text = this.props.problem.textPieces[idx].text;
const placeholder = idx === 0 ? …Run Code Online (Sandbox Code Playgroud) 我正在设计一个包含货币汇率的关系数据库。我的第一直觉是拥有一个列出所有货币的货币表,并将每种其他货币的汇率作为属性。
例如:货币表
我在网上搜索了如何在数据库中实现货币兑换表,在我查看过的所有地方都有一个表currency_exchange,其中包含列base_currency、non_base_currency(兑换货币)、汇率和日期。
由于我找不到与我的类似的实现,而且我读过的一篇文章说另一个实现是他工作的金融公司的实现方式,所以我认为另一个优于我的!
我只是不明白为什么。有人可以解释一下为什么另一个更好吗?