【发布时间】:2022-12-01 07:24:48
【问题描述】:
我有一个在前端使用 React 的 Rails Web 应用程序。我创建了一个具有精度 => 8、比例 => 2 和默认 => 0.00 的迁移
class ChangeNumericFieldInTeamDonations < ActiveRecord::Migration[6.1]
def self.up
change_column :team_donations, :unit_cost, :decimal, :precision => 8, :scale => 2, :default => '0.00'
end
end
这行得通,但是当我进入表示层并使用 React 时,我按如下方式传递我的道具:
export default function DonationsEdit(props) {
const [donation, setDonation] = useState(props.donation);
const [saving, setSaving] = useState(false);
*** removed rows to limit size of write up ***
<div className="row">
<div className="col-md-12">
<div className="form-group">
<label htmlFor="unit_cost">Unit Cost</label>
<input className="form-control" placeholder="0.00" type="number" step="0.01" name="unit_cost" id="unit_cost"
value={donation.unit_cost}
onChange={e => {
const val = e.target.value;
setDonation(donation => {
return { ...donation, unit_cost: val }
});
}}
/>
</div>
</div>
</div>
</React.Fragment>
);
}
DonationsEdit.propTypes = {
donation: PropTypes.object
};
如何确保表单以小数类型 0.00 而不是 0.0 开头?
这是一个价格,我不喜欢它只有一位小数,因为它看起来不对。
我尝试使用 '%.2f' % donation.unit_cost 创建一个函数,但我不知道如何让它与返回渲染一起工作 - 任何想法都会有所帮助。谢谢!
【问题讨论】:
标签: reactjs ruby-on-rails