Skip to content

多面板

本节介绍如何给微信表单添加一个多面板组件

表单元数据设计


业务插件多面板的激活面板

CSharp
using Kejie.BOS.Core.ControlModel;
using Kejie.BOS.Core.DynamicForm.Plugin.Args;
using Kejie.BOS.Core.WxDynamicForm;
using Kejie.BOS.Core.WxDynamicForm.Plugin;

namespace Kejie.Template.MultiDev.Plugin
{
    public class WxMy : WxDynamicFormPlugin
    {
        public WxMy(IWxDynamicFormView view) : base(view)
        {
        }

        public override async Task BeforeBindViewDataAsync(BeforeBindViewDataEventArgs e)
        {
            var customer = View.SessionManager.GetCustomerContext();
            if (customer != null)
            {
                await View.SetValue("FNickName", customer.NickName);
                await View.SetValue("FPhoneNumber", customer.PhoneNumber);
                //设置多面板的激活面板
                View.GetControlModel<MpMultiPanel>("FMultiPanelA")!.SetActive("p1"); 
                View.GetControlModel<BaseControlModel>("FPanelLogout")!.SetVisible(true);
                return;
            }

            View.GetControlModel<BaseControlModel>("FPanelLogout")!.SetVisible(false);
            //设置多面板的激活面板
            View.GetControlModel<MpMultiPanel>("FMultiPanelA")!.SetActive("p0");

            await base.BeforeBindViewDataAsync(e);
        }        
    }
}