任意菜单按钮
一个触发菜单的材料设计按钮,也为Anypoint平台作风格.
任意点网络组件是允许在开源项目中构建任意点启用的UI的组件集.
菜单按钮会生成一个触发图标按钮, 一旦启动, 它会生成一个已关闭菜单 。 按钮将用作上下文动作列表.
使用量
安装
npm install --save @anypoint-web-components/anypoint-menu-button
在 html 文件内
<html>
<head>
<script type="module">
import '@anypoint-web-components/anypoint-menu-button/anypoint-menu-button.js';
import '@anypoint-web-components/anypoint-button/anypoint-icon-button.js';
import '@anypoint-web-components/anypoint-listbox/anypoint-listbox.js';
import '@anypoint-web-components/anypoint-item/anypoint-item.js';
import '@polymer/iron-icons/iron-icons.js';
import '@polymer/iron-icon/iron-icon.js';
</script>
</head>
<body>
<anypoint-menu-button>
<anypoint-icon-button
slot="dropdown-trigger"
aria-label="activate for context menu">
<iron-icon icon="menu" alt="menu"></iron-icon>
</anypoint-icon-button>
<anypoint-listbox slot="dropdown-content">
<anypoint-item>alpha</anypoint-item>
<anypoint-item>beta</anypoint-item>
<anypoint-item>gamma</anypoint-item>
<anypoint-item>delta</anypoint-item>
<anypoint-item>epsilon</anypoint-item>
</anypoint-listbox>
</anypoint-menu-button>
<script>
{
document.querySelector('anypoint-menu-button').onselect = () => {
// an item is selected.
// This is the same event dispatched by the `anypoint-listbox`
};
}
</script>
</body>
</html>
在一个LitElement中
import { LitElement, html } from 'lit-element';
import '@anypoint-web-components/anypoint-menu-button/anypoint-menu-button.js';
import '@anypoint-web-components/anypoint-button/anypoint-icon-button.js';
import '@anypoint-web-components/anypoint-listbox/anypoint-listbox.js';
import '@anypoint-web-components/anypoint-item/anypoint-item.js';
import '@polymer/iron-icons/iron-icons.js';
import '@polymer/iron-icon/iron-icon.js';
class SampleElement extends LitElement {
render() {
return html`
<anypoint-menu-button
slot="content"
?compatibility="${compatibility}"
?disabled="${disabled}"
?ignoreSelect="${ignoreSelect}"
?noOverlap="${noOverlap}"
?closeOnActivate="${closeOnActivate}"
>
<anypoint-icon-button
slot="dropdown-trigger"
aria-label="activate for context menu"
?compatibility="${compatibility}">
<iron-icon icon="menu" alt="menu"></iron-icon>
</anypoint-icon-button>
<anypoint-listbox
slot="dropdown-content"
?compatibility="${compatibility}">
<anypoint-item>alpha</anypoint-item>
<anypoint-item>beta</anypoint-item>
<anypoint-item>gamma</anypoint-item>
<anypoint-item>delta</anypoint-item>
<anypoint-item>epsilon</anypoint-item>
</anypoint-listbox>
</anypoint-menu-button>
`;
}
}
customElements.define('sample-element', SampleElement);
发展
git clone https://github.com/anypoint-web-components/anypoint-menu-button
cd anypoint-menu-button
npm install
本地运行演示
npm start
运行测试
npm test