### 自定义图标 自定义图标以 sd 开头,用法与常规图标用法相同,可以用按钮的 icon 属性 ```vue Search ``` ### 获取受身份保护的图片 如果图片匿名不能访问,直接写到 src 里面不会带上 token,需要使用 sdResource filter 处理一下 ```vue ``` ### 下载系统附件 使用 js 下载系统文件 ```javascript import download from '@/common/services/download' download('api/framework/v1/task-form-process/download-attachments/附件code', '文件名.docx') ``` ### 表达式中避免空值报错 在模板表达式中如果访问空值的子属性,页面会报错,这时可以通过 sdGet 这个函数来处理(8.1.0.30 之前需要 sdGet 函数,8.1.0.30 及之后版本原生支持了,无需此函数) 类似 ES 标准中如下功能: [可选链操作符](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/%E5%8F%AF%E9%80%89%E9%93%BE) ```vue ``` ### 获取用户信息 通过 storeMixin 可以把用户信息混入到组件中 ```html ``` 非组件环境使用 ```javascript import { getUserInfo } from '@/common/store-mixin' console.log(getUserInfo()) ``` ### 关闭、刷新当前 tab 页 通过 SdTabbedView API 即可。需要注入 SdTabbedView ```html ``` ### JS 方式打开各种选值对话框 所有通过 SdValuePicker 实现的选择器,例如 SdIconPicker、SdFlowPicker 等,默认都是点击 input 框弹出选择界面的。 如果需要通过 JS 调用这些对话框,可以通过 pickValues 服务实现。 ```vue ``` ### ProgressBar 页面底部进度条 更多更高级用法请参考: [NProgress](https://github.com/rstacruz/nprogress) ```vue ``` ### 浏览器页签通信 使用场景:从待办列表打开待办,待办提交后需要通知待办列表更新 ```javascript //第A页面调用api打开b页面 crossWindowWatcher.subscribeChange({ url: '/sd-webflow/xxx/xxx', //新窗口打开的链接 callback: () => { //回调事件 }, }) //通知父窗口触发回调事件,可以传参true/false crossWindowWatcher.notifyChange() ```