我正在创建一个表单视图,并且正在关注本教程(here)。
显然我的表单在工作,问题出在具有依赖性的字段中。 “单位”字段取决于“公司”字段,当我更改“公司”字段时,将显示以下消息: “类名称为“ form”的小部件尚未绑定到控制器”。
为了更好地理解,我将“ fields.yaml”文件和代码放在下面。
if not sys.warnoptions:
warnings.simplefilter("ignore")
os.environ["PYTHONWARNINGS"] = "ignore" # Also affect subprocesses
fields:
company:
label: Empresa
emptyOption: '---'
span: auto
type: dropdown
unit:
label: Unidade
span: auto
dependsOn:
- company
type: dropdown
public function onShowCreateOpportunity()
{
$model = new \CRM\Events\Models\Opportunity;
$config = $this->makeConfig('$/crm/events/models/opportunity/fields.yaml');
$config->arrayName = 'Opportunity';
$config->model = $model;
$widget = $this->makeWidget('Backend\Widgets\Form', $config);
$widget->form = $model;
$widget->bindToController();
$this->vars['model'] = $model;
$this->vars['widget'] = $widget; //its for test
return $this->makePartial('views/sales/sales_new', [
'widget' => $widget, //its for test
]);
}
如上所述,该表格正在显示,它在“ COMPANY”字段中显示了正确的值,但是,当我选择任何“ Company”时,“ UNIT”字段不会加载并显示我上面引用的消息