跳转到内容

绘制器脚本

在绘制器脚本中,可根据当前部件数据绘制内容,需返回一段html格式的字符串,iBizHUB会将返回的字符串以v-html的形式替换掉部件内容。

参数

名称类型描述
contextIApiContext当前视图上下文
paramsIApiParams当前视图参数
dataIApiData[] | IApiData | undefined当前业务数据
targetNamestring部件名称
viewIApiViewController当前视图
ctrlIApiControlController当前部件
documentDocument当前文档对象
selector(className: string) => HTMLCollectionOf<Element>元素选择器
envIEnvironment当前环境对象
appSessionIApiData当前应用会话对象
topViewSessionIApiData当前顶级视图会话对象
viewSessionIApiData当前视图会话对象
viewParamIApiParams当前视图参数
appIApiAppHubController当前应用
topViewIApiViewController当前顶级视图
parentViewIApiViewController | undefined当前父视图
parentIApiViewController | undefined当前父视图
util{ message: IApiMessageUtil, notification: IApiNotificationUtil,modal: IApiModalUtil,confirm: IApiConfirmUtil,openView: IApiOpenViewUtil}工具集
dataArg{ total: number, totalx: number | undefined }仅多数据部件存在,返回总数

调用示例

基于当前数据绘制自定义绘制部件

typescript
const items = ctrl.state.items;
let htmlArr = '';
if (items && items.length > 0) { 
    // 按照 sj 属性升序排序
  items.sort((a, b) => {
    const sjA = new Date(a.data.sj); 
    const sjB = new Date(b.data.sj);
    return sjA - sjB;
  });
  htmlArr = `<div class='time-line'>
    <div class='time-line-left'>
      ${items.map((children, lineIndex) => {
        const { title, sj, content_name, content_key, type, bmsah, xfjsh, aqzy, fxdj, id, is_local } = children.data;
        let  contentHTML = `
          <div class='time-line-item__dot' title='${aqzy}' click="ibiz.util.action.execAndResolved('open_xfxx@xfyf_xfxx', {context, params,  data: [data], view, ctrl } , 'xfyf__xfyfweb')" data="{'id':'${xfjsh}', 'xfjsh': '${xfjsh}'}">
          </div>`;
        return contentHTML;
      }).join('')}  
    </div>
  </div>`;
}
return htmlArr;
未来已来,立即拥抱应用融合的力量
Released under the MIT License.