异步数据与同步数据混合渲染

异步数据和同步数据混合渲染,目前可能用到的地方有table组件、box组件以及弹窗模式。
使用场景为:

  • 列表的数据源为异步数据,如果想在某一列数据获取页面同步数据,那么就要用到page_data

表格

data_table:
  search_bar:
    # 见【框架--检索】组件
  buttons:
    # 见【控件--按钮buttons】组件,数组方式
  header:
    content:
      - {model: checkbox, content: QQ}
      - {model: text, content: QQ}
      - {model: text, content: 头像}
      - {model: text, content: 姓名}
      - {model: text, content: 电话}
  body:
    data: '{%list%}'
    page_data:
      sync_demo_data: '{%id%}'
    template:
      - {model: checkbox, value: '{%qq%}'}
      - {model: text, value: '{%sync_demo_data%}'} #此处取到的就是同步数据里面的id,page_data里面数据优先级较高
      - {model: text, value: '{%qq%}'}
      - {model: text, value: '{%qq%}'}
      - {model: text, value: '{%qq%}'}

box组件

- model: box
  name: box
  value: "{%box_data%}"
  page_data:
    select_list: '{%selectlist%}' #此处变量{%selectlist%}取的是同步数据的selectlist
  template: 
    - model: input
      type: text
      label: 标题
      name: title
      value: '{%name%}'
    - model: select
      name: admin12
      label: 管理员
      validate:
        required: required
        msg: 请输入正确的姓名
      value: '{%user.admin%}'
      placeholder: 请选择管理员
      options: '{%select_list%}' #此处用的是page_data的select_list

弹窗

弹窗如果不配置request,那么page_data无效,因为不配置request会自动读取同步数据

preloader:
  create_act:
    model: dialog
    title: "创建活动"
    show: false
    height: small
    request: 
      model: ajax
      url: '/platform/user/get_verification'
      method: 'POST'
      params: {uid: '{%id%}',qq: '{%user.qq%}'}
    page_data:
      qq: '{%data_qq%}' #此处读取的是同步数据的data,如果不配置request,那么所有的变量都是读取同步数据
    body:
      form:
        action:  "/act/admin/setting_theme"
        content:
          - model: input
            label: 表单标题
            type: text
            name: act_name
            placeholder: 请输入表单标题名称
            help: 请输入20个以内
            value: '{%qq%}' #此处读取的是page_data里面的qq值
            validate:
              required: required
              minlength: 1
              maxlength: 20
              msg: 请输入正确表单标题

results matching ""

    No results matching ""