WijmoJS 以声明方式添加 Vue 菜单项
WijmoJS 以声明方式添加 Vue 菜单项
在V2019.0 Update2 的全新版本中,Vue框架下 WijmoJS 的前端UI组件功能得到再度增强。
如今,向wj菜单组件添加项的方法将不限于:将其绑定到菜单项数据数组。
以声明方式添加 Vue 菜单项
此前,要自定义项目的外观,您必须使用formatItem事件并在JS代码中生成其内容。但是当您在Vue模板中创建UI时,这种方法(其中一部分菜单必须在模板中定义,而另一部分应该在代码隐藏块中创建)看起来并不方便。介于此,您可能更倾向于这种方式:在模板的同一位置中定义菜单及其项目。
使用 WijmoJS ,通过 @grapecity/wijmo.vue2.input 模块中的新wj-menu-item组件即可实现这一点。
您现在可以使用嵌套到其wj菜单的wj-menu-item组件,而不是在数组中定义项目。每个wj-menu-item均可定义一个单独的菜单项,可以是包含任意复杂性的内容,也可以是绑定了其他组件的内容。
除了定义单独的菜单项外,还可以使用wj-menu-separator组件在菜单项之间插入分隔符。
例如,此示例中的以下Vue标记定义了具有丰富内容的菜单项,并在退出项之前使用分隔符:
```
<wj-menu :header="'File'" :itemClicked="menuItemClicked">
<wj-menu-item>
<span class="glyphicon glyphicon-asterisk"></span>
<b>New</b>
<br>
<small><i>create a new file</i></small>
</wj-menu-item>
<wj-menu-item>
<span class="glyphicon glyphicon-folder-open"></span>
<b>Open</b>
<br>
<small><i>open an existing file or folder</i></small>
</wj-menu-item>
<wj-menu-item>
<span class="glyphicon glyphicon-floppy-disk"></span>
<b>Save</b>
<br>
<small><i>save the current file</i></small>
</wj-menu-item>
<wj-menu-separator></wj-menu-separator>
<wj-menu-item>
<span class="glyphicon glyphicon-remove"></span>
<b>Exit</b>
<br>
<small><i>exit the application</i></small>
</wj-menu-item>
</wj-menu>
```
您还可以在Vue v-for指令的帮助下,从定义其数据的项目数组中动态生成多个wj-menu-item。
例如,下面的示例是从调色板数组中生成菜单项:
```
<wj-menu
:header="'Palette'"
:value="selectedPalette"
:itemClicked="selectedPaletteChanged">
<wj-menu-item :value="palette.name" v-for="palette in palettes">
<div>
<span style='float: right'>
<div
v-for="color in palette.colors"
v-bind:style="{
backgroundColor: color,
display:'inline',
padding:'2px',
height:'10px',
width:'3px'
}">
</div>
</span>
</div>
</wj-menu-item>
</wj-menu>
```
请注意,此处的wj-menu组件未使用其itemsSource属性绑定到数据数组。相反,它直接从数据数组中生成子wj-menu-item组件。
命令(Command)
您现在可以以声明的方式,定义绑定带参数/命令的菜单项。wj-menu-item组件从其接口中公开cmd和cmdParam属性,这些属性可以分别绑定菜单项的命令及其参数。
下面的代码示例,演示了如何使用这些属性来定义递增或递减的菜单项。每个项目表示作为命令参数指定的不同增量值:
```
<wj-menu id="changeTax" :header="'Tax Commands'">
<wj-menu-item :cmd="command" :cmdParam="0.50">Increment by 50%</wj-menu-item>
<wj-menu-item :cmd="command" :cmdParam="0.25">Increment by 25%</wj-menu-item>
<wj-menu-item :cmd="command" :cmdParam="0.05">Increment by 5%</wj-menu-item>
<wj-menu-separator></wj-menu-separator>
<wj-menu-item :cmd="command" :cmdParam="-0.05">Decrement by 5%</wj-menu-item>
<wj-menu-item :cmd="command" :cmdParam="-0.25">Decrement by 25%</wj-menu-item>
<wj-menu-item :cmd="command" :cmdParam="-0.50">Decrement by 50%</wj-menu-item>
</wj-menu>
```
值选择器(Value Picker)
wj-menu组件现在可以用作值选择器。
wj-menu-item组件的value属性包含与该项关联的值。wj-menu本身具有value属性,其值显示在菜单标题旁边,此属性可以绑定到父组件状态,其中itemClicked事件可用于更新与所选菜单项相关联的值的状态。
此示例演示了用于选择浏览器名称的菜单:
```
Template:
<wj-menu
:header="'Run'"
:value="browser"
:itemClicked="splitButtonItemClicked">
<wj-menu-item :value="'IE'">Internet Explorer</wj-menu-item>
<wj-menu-item :value="'Chrome'">Chrome</wj-menu-item>
<wj-menu-item :value="'FF'">FireFox</wj-menu-item>
<wj-menu-item :value="'Safari'">Safari</wj-menu-item>
<wj-menu-item :value="'Opera'">Opera</wj-menu-item>
</wj-menu>
JavaScript:
splitButtonItemClicked: function(menu) {
this.browser = menu.selectedItem.value;
}
```
结论
随着wj-menu-item和wj-menu-separator组件的引入,使用WijmoJS前端开发工具包,在Vue应用程序中定义菜单将变得更加容易。
如今,您可以在组件模板中定义包含其整个项目的菜单,该项目可以包含丰富的内容,也可以包含HTML元素或其他绑定的组件。
关于 WijmoJS 前端开发工具包
WijmoJS 前端开发工具包由多款灵活高效、零依赖、轻量级的纯前端控件组成,如表格控件 FlexGrid、图表控件 FlexChart、数据分析 OLAP 等,完美支持原生 JavaScript,以及 Angular、React、Vue、TypeScript、Knockout 和 Ionic 等框架,可用于企业快速构建桌面、移动 Web 应用程序。
借助葡萄城深厚的技术底蕴,WijmoJS 致力于为各领域用户提供更稳定、更高效的前端开发工具。产品自面市以来,已在招商银行、微软 Dynamics 项目、思科、特斯拉、富士通等知名企业中得以成功应用。WijmoJS 凭借其先进的体系架构、简单易学的使用文档、超过 500 种 Demo 演示、顶级的控件性能,以及轻松、易用的操作体验,可全面满足企业前端开发所需,是构建企业级 Web 应用程序最高效的纯前端开发工具包。
WijmoJS 以声明方式添加 Vue 菜单项的更多相关文章
- Eclipse扩展点实践之添加快捷菜单项(Command方式实现)
有两种方式,一种是Action的方式,另一种是Command的方式(这两种方式的区别详见:http://wiki.eclipse.org/FAQ_What_is_the_difference_betw ...
- android4.2添加重启菜单项
本文主要是针对android4.2关机菜单添加重启功能 A.关机提示 android4.2/frameworks/base/policy/src/com/android/internal/policy ...
- EasyUI datagrid添加右键菜单项
js代码 //动态加载数据表格 function InitData() { $('#grid').datagrid({ url: '/Home/Query?r=' + Math.random(), / ...
- Android 添加菜单项
刚开始看郭大神的<>,实现以下里面的一些例子.利用Menu给APP添加一个菜单项. 效果图 结构图 在res的menu文件夹下创建一个xml文件,当然你也可以使用系统创建的main.xml ...
- JCEF 如何修改右键菜单项(JCEF在右键菜单中添加开发者选项-show dev tools)
需求: 在界面的右键事件中添加一个打开开发者选项的菜单(Show Dev Tools) 所以我们可以看到的是在界面上右键,会有默认的一些菜单项(前进,后退,打印,查看源码),而这些功能并不一定是我们需 ...
- Windows下给鼠标右键菜单添加获得完全控制权限的菜单项
这段时间计算机C分区里多了很多无用的文件,而且不在同一个目录下,搜索出来删除的时候提示没有管理员权限,需要在右键属性里面修改,非常麻烦,于是查询了一下发现可以在文件右键菜单添加一个获取权限的菜单项,这 ...
- ecshop后台添加菜单项,权限问题
ecshop后台自定义菜单涉及到几个重要的权限控制的文件,先做如下总结: 后台添加菜单项,并设置权限的步骤.:(以在系统模块添加申请友链菜单为例)commn.php : \language ...
- VSTO 为Office已有右键菜单添加自己的菜单项(word,Excel)
原文:VSTO 为Office已有右键菜单添加自己的菜单项(word,Excel) private void AddRightMenu() { Microsoft ...
- 为Windows资源管理器右键菜单添加菜单项
为Windows资源管理器右键菜单添加菜单项 在Windows下命令行用的比较多,经常在资源管理器里翻到某个目录,若想要在此目录下跑命令,只能是打开cmd.exe,然后一路cd才能到达此目录. 每次都 ...
随机推荐
- Confluence 6 评论一个文件
无论是一个图片 —— 例如一个模拟的新市场计划需要反馈,还是一个 PDF 文件,一个演讲稿,或者任何你可以在 Confluence 中预览的文件.你可以在预览的的任何位置放置一个热点然后添加你的评论后 ...
- JSP通过URL给Servlet传值
jsp传数据: <a id="a1" href="" ></a> <script> $("#a1").a ...
- Keras学习笔记三:一个图像去噪训练并离线测试的例子,基于mnist
训练模型需要的数据文件有: MNIST_data文件夹下的mnist_train.mnist_test.noisy_train.noisy_test.train文件夹下60000个图片,test下10 ...
- 在Spring Boot快捷地读取文件内容的若干种方式
引言: 在Spring Boot构建的项目中,在某些情况下,需要自行去读取项目中的某些文件内容,那该如何以一种轻快简单的方式读取文件内容呢? 基于ApplicationContext读取 在Spri ...
- 面试准备一个访问一个URL的过程简版
客户端获取URL - > DNS解析 - > TCP连接 - >发送HTTP请求 - >服务器处理请求 - >返回报文 - >浏览器解析渲染页面 - > TC ...
- JDBC——数据库连接池以及JDBC代码模版模版
该代码模版由三部分组成,一个是数据库连接池,一个是数据库常用操作的模版抽象,还有一个是重写的连接对象,主要重写关闭连接的方法,将其改为释放到连接池. OolongConnectionPool.java ...
- synchronized三种使用方式,及锁的类型验证
Synchronized常用三种使用方式 1.修饰普通方法:锁对象即为当前对象 2.修饰静态方法:锁对象为当前Class对象 3.修饰代码块:锁对象为synchronized紧接着的小括号内的对象 一 ...
- slab分配object
在numa架构下,slab分配object: 3192static __always_inline void * 3193__do_cache_alloc(struct kmem_cache *cac ...
- echarts修改X,Y轴上的颜色
分为2.0和3.0 一.2.0 修改的代码: x轴: xAxis : [ { type : 'category', data : ['<30','30-','40-','50-','60-', ...
- element UI 验证select 下拉问题
解决方式: 添加了type类型.