Skip to content

Commit

Permalink
add Index
Browse files Browse the repository at this point in the history
  • Loading branch information
icarusion committed Jul 9, 2018
1 parent e52db2c commit 59b52bc
Show file tree
Hide file tree
Showing 4 changed files with 190 additions and 0 deletions.
64 changes: 64 additions & 0 deletions src/code/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
let code = {};

code.import = `
"usingComponents": {
"i-index": "../../dist/index/index",
"i-index-item": "../../dist/index-item/index"
}
`;
code.usage = `
<view class="i-index-demo">
<i-index height="100%" bind:change="onChange">
<i-index-item
wx:for="{{ cities }}"
wx:for-index="index"
wx:key="{{index}}"
wx:for-item="item" name="{{item.key}}">
<view
class="i-index-demo-item"
wx:for="{{item.list}}"
wx:for-index="in"
wx:key="{{in}}"
wx:for-item="it">
{{it.name}}
</view>
</i-index-item>
</i-index>
</view>
`;

code.js = `
import { cities } from './city';
Page({
data : {
cities : []
},
onChange(event){
console.log(event.detail,'click right menu callback data')
},
onReady(){
let storeCity = new Array(26);
const words = ["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"]
words.forEach((item,index)=>{
storeCity[index] = {
key : item,
list : []
}
})
cities.forEach((item)=>{
let firstName = item.pinyin.substring(0,1);
let index = words.indexOf( firstName );
storeCity[index].list.push({
name : item.name,
key : firstName
});
})
this.data.cities = storeCity;
this.setData({
cities : this.data.cities
})
}
});
`;

export default code;
4 changes: 4 additions & 0 deletions src/config/navigate.js
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,10 @@ const list = {
title: 'NoticeBar 通告栏',
path: '/components/notice-bar'
},
{
title: 'Index 索引选择器',
path: '/components/index'
},
]
},
{
Expand Down
7 changes: 7 additions & 0 deletions src/router.js
Original file line number Diff line number Diff line change
Expand Up @@ -247,6 +247,13 @@ const routers = [
},
component: (resolve) => require(['./views/components/swipeout.vue'], resolve)
},
{
path: '/components/index',
meta: {
title: '索引选择器 Index'
},
component: (resolve) => require(['./views/components/index.vue'], resolve)
},
{
path: '*',
redirect: '/'
Expand Down
115 changes: 115 additions & 0 deletions src/views/components/index.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
<template>
<i-article>
<article>
<h1>Index 索引选择器</h1>
<Anchor title="概述" h2></Anchor>
<p>常用于通讯录、城市选择的索引选择器。</p>
<Anchor title="使用指南" h2></Anchor>
<p>在 .json 中引入组件</p>
<i-code bg lang="json">{{ code.import }}</i-code>
<Anchor title="示例" h2></Anchor>
<i-code bg lang="html">{{ code.usage }}</i-code>
<br><br>
<i-code bg lang="js">{{ code.js }}</i-code>
<ad></ad>

<div class="api">
<Anchor title="API" h2></Anchor>
<Anchor title="Index properties" h3></Anchor>
<table>
<thead>
<tr>
<th>属性</th>
<th>说明</th>
<th>类型</th>
<th>默认值</th>
</tr>
</thead>
<tbody>
<tr>
<td>i-class</td>
<td>自定义 class 类名</td>
<td>String</td>
<td>-</td>
</tr>
<tr>
<td>height</td>
<td>容器 scroll-view 的高度,支持各种单位</td>
<td>String</td>
<td>300</td>
</tr>
<tr>
<td>item-height</td>
<td>选择项的高度,单位 px</td>
<td>Number</td>
<td>18</td>
</tr>
</tbody>
</table>
<Anchor title="Index events" h3></Anchor>
<table>
<thead>
<tr>
<th>事件名</th>
<th>说明</th>
<th>返回值</th>
</tr>
</thead>
<tbody>
<tr>
<td>bind:change</td>
<td>选择项改变时触发,</td>
<td>{index, current}</td>
</tr>
</tbody>
</table>
<Anchor title="IndexItem properties" h3></Anchor>
<table>
<thead>
<tr>
<th>属性</th>
<th>说明</th>
<th>类型</th>
<th>默认值</th>
</tr>
</thead>
<tbody>
<tr>
<td>i-class</td>
<td>自定义 class 类名</td>
<td>String</td>
<td>-</td>
</tr>
<tr>
<td>name</td>
<td>选择项的标题</td>
<td>String</td>
<td>-</td>
</tr>
</tbody>
</table>
</div>
</article>
</i-article>
</template>
<script>
import iArticle from '../../components/article.vue';
import iCode from 'iCode';
import Demo from '../../components/demo.vue';
import Code from '../../code/index';
import Anchor from '../../components/anchor.vue';
export default {
components: {
iArticle,
iCode,
Demo,
Anchor
},
data () {
return {
code: Code
}
}
}
</script>

0 comments on commit 59b52bc

Please sign in to comment.