我正在尝试创建一个通用函数,该函数检查记录是否为有效格式,因为该记录实现的静态成员有效。尝试在Bolero(Blazor)框架内的ElmishComponent中使用此功能时,出现以下错误
此代码不够通用。当^ childModel :(静态成员有效:^ childModel-> bool)时,类型变量^ childModel不能被泛化,因为它将逃避其范围
使用以下代码
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<record id="res_partner_view_purchase_buttons_TVA_RC" model="ir.ui.view">
<field name="name">num.TVA.RC.res.partner.view.purchase.</field>
<field name="model">res.partner</field>
<field name="inherit_id" ref="base.view_partner_form"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='website']" position="after">
<field name="CodeTVA" select="1" placeholder="Code TVA" widget="mask" data-inputmask-mask="9999999/A/A/A/999" />
<field name="RC" select="1" placeholder="Num RC"/>
</xpath>
</field>
</record>
</data>
答案 0 :(得分:2)
我可能会丢失一些东西,但是在我看来,一种更简单的方法是使用子模型实现的接口-这样,您根本不必费心静态成员约束:
type IValidable =
abstract IsValid : bool
type Component<'T, 'childModel, 'childMessage when
'T :> ElmishComponent< 'childModel, 'childMessage> and
'childModel :> IValidable>() =
inherit ElmishComponent<Model<'childModel>, Message<'childModel, 'childMessage>>()
override this.View model dispatch =
let test = model.Child.IsValid
()