| 1 |
- import{e as s,o as a,G as n}from"./vendor.9cc7b6f2.js";const t={class:"markdown-body"},l=[n('<h1>Popover 气泡弹出框</h1><h3>介绍</h3><p>点击或在元素上悬停鼠标,弹出气泡卡片浮层。</p><h3>安装</h3><pre><code class="language-javascript">\n<span class="hljs-keyword">import</span> { createApp } <span class="hljs-keyword">from</span> <span class="hljs-string">'vue'</span>;\n<span class="hljs-comment">// vue</span>\n<span class="hljs-keyword">import</span> { Popover } <span class="hljs-keyword">from</span> <span class="hljs-string">'@nutui/nutui'</span>;\n<span class="hljs-comment">// taro</span>\n<span class="hljs-keyword">import</span> { Popover } <span class="hljs-keyword">from</span> <span class="hljs-string">'@nutui/nutui-taro'</span>;\n\n<span class="hljs-keyword">const</span> app = createApp();\napp.use(Popover);\n\n</code></pre><h3>代码实例</h3><h3>基本用法</h3><p>Popover 支持明朗和暗黑两种风格,默认为明朗风格,将 theme 属性设置为 dark 可切换为暗黑风格。</p><pre><code class="language-html"> <span class="hljs-tag"><<span class="hljs-name">nut-popover</span>\n <span class="hljs-attr">v-model:visible</span>=<span class="hljs-string">"visible"</span>\n <span class="hljs-attr">:lists</span>=<span class="hljs-string">"List"</span>\n ></span>\n <span class="hljs-tag"><<span class="hljs-name">template</span> #<span class="hljs-attr">reference</span>></span>\n <span class="hljs-tag"><<span class="hljs-name">nut-button</span> <span class="hljs-attr">type</span>=<span class="hljs-string">"primary"</span> <span class="hljs-attr">shape</span>=<span class="hljs-string">"square"</span>></span>明朗风格<span class="hljs-tag"></<span class="hljs-name">nut-button</span>></span>\n <span class="hljs-tag"></<span class="hljs-name">template</span>></span>\n <span class="hljs-tag"></<span class="hljs-name">nut-popover</span>></span>\n\n <span class="hljs-tag"><<span class="hljs-name">nut-popover</span>\n <span class="hljs-attr">v-model:visible</span>=<span class="hljs-string">"visible"</span>\n <span class="hljs-attr">theme</span>=<span class="hljs-string">"dark"</span>\n <span class="hljs-attr">:lists</span>=<span class="hljs-string">"List"</span>\n ></span>\n <span class="hljs-tag"><<span class="hljs-name">template</span> #<span class="hljs-attr">reference</span>></span>\n <span class="hljs-tag"><<span class="hljs-name">nut-button</span> <span class="hljs-attr">type</span>=<span class="hljs-string">"primary"</span> <span class="hljs-attr">shape</span>=<span class="hljs-string">"square"</span>></span>暗黑风格<span class="hljs-tag"></<span class="hljs-name">nut-button</span>></span>\n <span class="hljs-tag"></<span class="hljs-name">template</span>></span>\n <span class="hljs-tag"></<span class="hljs-name">nut-popover</span>></span>\n</code></pre><pre><code class="language-javascript">\n <span class="hljs-keyword">export</span> <span class="hljs-keyword">default</span> {\n <span class="hljs-function"><span class="hljs-title">data</span>(<span class="hljs-params"></span>)</span> {\n <span class="hljs-keyword">return</span> {\n <span class="hljs-attr">showPopover</span>: <span class="hljs-literal">false</span>,\n <span class="hljs-attr">List</span>: [{<span class="hljs-attr">name</span>: <span class="hljs-string">'选项一'</span>},{<span class="hljs-attr">name</span>: <span class="hljs-string">'选项二'</span>},{<span class="hljs-attr">name</span>: <span class="hljs-string">'选项三'</span>}],\n };\n },\n };\n\n</code></pre><h3>选项配置</h3><pre><code class="language-html"> <span class="hljs-tag"><<span class="hljs-name">nut-popover</span>\n <span class="hljs-attr">v-model:visible</span>=<span class="hljs-string">"visible"</span>\n <span class="hljs-attr">theme</span>=<span class="hljs-string">"dark"</span>\n <span class="hljs-attr">:lists</span>=<span class="hljs-string">"List"</span>\n ></span>\n <span class="hljs-tag"><<span class="hljs-name">template</span> #<span class="hljs-attr">reference</span>></span>\n <span class="hljs-tag"><<span class="hljs-name">nut-button</span> <span class="hljs-attr">type</span>=<span class="hljs-string">"primary"</span> <span class="hljs-attr">shape</span>=<span class="hljs-string">"square"</span>></span>展示图标<span class="hljs-tag"></<span class="hljs-name">nut-button</span>></span>\n <span class="hljs-tag"></<span class="hljs-name">template</span>></span>\n <span class="hljs-tag"></<span class="hljs-name">nut-popover</span>></span>\n\n</code></pre><pre><code class="language-javascript">\n <span class="hljs-keyword">export</span> <span class="hljs-keyword">default</span> {\n <span class="hljs-function"><span class="hljs-title">data</span>(<span class="hljs-params"></span>)</span> {\n <span class="hljs-keyword">return</span> {\n <span class="hljs-attr">List</span>: [\n {<span class="hljs-attr">name</span>: <span class="hljs-string">'选项一'</span>,<span class="hljs-attr">icon</span>: <span class="hljs-string">'my2'</span>},\n {<span class="hljs-attr">name</span>: <span class="hljs-string">'选项二'</span>,<span class="hljs-attr">icon</span>: <span class="hljs-string">'cart2'</span>},\n {<span class="hljs-attr">name</span>: <span class="hljs-string">'选项三'</span>,<span class="hljs-attr">icon</span>: <span class="hljs-string">'location2'</span>}\n ],\n };\n },\n };\n\n</code></pre><p>在 lists 数组中,可以通过 disabled 字段来禁用某个选项。</p><pre><code class="language-html"> <span class="hljs-tag"><<span class="hljs-name">nut-popover</span>\n <span class="hljs-attr">v-model:visible</span>=<span class="hljs-string">"visible"</span>\n <span class="hljs-attr">:lists</span>=<span class="hljs-string">"List"</span>\n ></span>\n <span class="hljs-tag"><<span class="hljs-name">template</span> #<span class="hljs-attr">reference</span>></span>\n <span class="hljs-tag"><<span class="hljs-name">nut-button</span> <span class="hljs-attr">type</span>=<span class="hljs-string">"primary"</span> <span class="hljs-attr">shape</span>=<span class="hljs-string">"square"</span>></span>禁用选项<span class="hljs-tag"></<span class="hljs-name">nut-button</span>></span>\n <span class="hljs-tag"></<span class="hljs-name">template</span>></span>\n <span class="hljs-tag"></<span class="hljs-name">nut-popover</span>></span>\n</code></pre><pre><code class="language-javascript">\n <span class="hljs-keyword">export</span> <span class="hljs-keyword">default</span> {\n <span class="hljs-function"><span class="hljs-title">data</span>(<span class="hljs-params"></span>)</span> {\n <span class="hljs-keyword">return</span> {\n <span class="hljs-attr">showPopover</span>: <span class="hljs-literal">false</span>,\n <span class="hljs-attr">List</span>:[{\n <span class="hljs-attr">name</span>: <span class="hljs-string">'选项一'</span>,\n <span class="hljs-attr">disabled</span>: <span class="hljs-literal">true</span>\n },\n {\n <span class="hljs-attr">name</span>: <span class="hljs-string">'选项二'</span>,\n <span class="hljs-attr">disabled</span>: <span class="hljs-literal">true</span>\n },\n {\n <span class="hljs-attr">name</span>: <span class="hljs-string">'选项三'</span>\n }],\n };\n },\n };\n\n</code></pre><h3>自定义内容</h3><p>在名为 content 插槽中自定义内容。</p><pre><code class="language-html"> <span class="hljs-tag"><<span class="hljs-name">nut-popover</span> <span class="hljs-attr">v-model:visible</span>=<span class="hljs-string">"visible"</span>></span>\n <span class="hljs-tag"><<span class="hljs-name">template</span> #<span class="hljs-attr">reference</span>></span>\n <span class="hljs-tag"><<span class="hljs-name">nut-button</span> <span class="hljs-attr">type</span>=<span class="hljs-string">"primary"</span> <span class="hljs-attr">shape</span>=<span class="hljs-string">"square"</span>></span>自定义内容<span class="hljs-tag"></<span class="hljs-name">nut-button</span>></span>\n <span class="hljs-tag"></<span class="hljs-name">template</span>></span>\n\n <span class="hljs-tag"><<span class="hljs-name">template</span> #<span class="hljs-attr">content</span>></span>\n <span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"self-content"</span>></span>\n <span class="hljs-tag"><<span class="hljs-name">div</span>\n <span class="hljs-attr">class</span>=<span class="hljs-string">"self-content-item"</span>\n <span class="hljs-attr">v-for</span>=<span class="hljs-string">"(item, index) in selfContent"</span>\n <span class="hljs-attr">:key</span>=<span class="hljs-string">"index"</span>\n ></span>\n <span class="hljs-tag"><<span class="hljs-name">nut-icon</span> <span class="hljs-attr">:name</span>=<span class="hljs-string">"item.name"</span> <span class="hljs-attr">size</span>=<span class="hljs-string">"15"</span>></span><span class="hljs-tag"></<span class="hljs-name">nut-icon</span>></span>\n <span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"self-content-desc"</span>></span>{{ item.desc }}<span class="hljs-tag"></<span class="hljs-name">div</span>></span>\n <span class="hljs-tag"></<span class="hljs-name">div</span>></span>\n <span class="hljs-tag"></<span class="hljs-name">div</span>></span>\n <span class="hljs-tag"></<span class="hljs-name">template</span>></span>\n <span class="hljs-tag"></<span class="hljs-name">nut-popover</span>></span>\n</code></pre><h3>位置自定义</h3><p>支持 bottom, top, left, right 四种弹出位置,默认值为 bottom。</p><pre><code class="language-html"> <span class="hljs-tag"><<span class="hljs-name">nut-popover</span>\n <span class="hljs-attr">v-model:visible</span>=<span class="hljs-string">"visible"</span>\n <span class="hljs-attr">location</span>=<span class="hljs-string">"top"</span>\n <span class="hljs-attr">theme</span>=<span class="hljs-string">"dark"</span>\n <span class="hljs-attr">:lists</span>=<span class="hljs-string">"List"</span>\n ></span>\n <span class="hljs-tag"><<span class="hljs-name">template</span> #<span class="hljs-attr">reference</span>></span>\n <span class="hljs-tag"><<span class="hljs-name">nut-button</span> <span class="hljs-attr">type</span>=<span class="hljs-string">"primary"</span> <span class="hljs-attr">shape</span>=<span class="hljs-string">"square"</span>></span>向上弹出<span class="hljs-tag"></<span class="hljs-name">nut-button</span>></span>\n <span class="hljs-tag"></<span class="hljs-name">template</span>></span>\n <span class="hljs-tag"></<span class="hljs-name">nut-popover</span>></span>\n\n</code></pre><h3>Prop</h3><table><thead><tr><th>字段</th><th>说明</th><th>类型</th><th>默认值</th></tr></thead><tbody><tr><td>lists</td><td>选项列表</td><td>List[]</td><td>[]</td></tr><tr><td>v-model</td><td>是否展示气泡弹出层</td><td>boolean</td><td>false</td></tr><tr><td>theme</td><td>主题风格,可选值为 dark</td><td>string</td><td><code>light</code></td></tr><tr><td>location</td><td>弹出位置,可选值为 top,left,right</td><td>string</td><td><code>bottom</code></td></tr></tbody></table><h3>List 数据结构</h3><p>List 属性是一个由对象构成的数组,数组中的每个对象配置一列,对象可以包含以下值:</p><table><thead><tr><th>键名</th><th>说明</th><th>类型</th><th>默认值</th></tr></thead><tbody><tr><td>name</td><td>选项文字</td><td>string</td><td>-</td></tr><tr><td>icon</td><td>nut-icon 图标名称</td><td>string</td><td>-</td></tr><tr><td>disabled</td><td>是否为禁用状态</td><td>boolean</td><td>false</td></tr></tbody></table>',27)],p={setup:(n,{expose:p})=>(p({frontmatter:{}}),(n,p)=>(a(),s("div",t,l)))};export{p as default};
|