:-: **搜索的查詢功能**
有時候我們需要查詢數據的某一項或多項的數據,也就是進行數據的篩選。
這里我是基于vue的前端UI框架iview來寫的。
HTML代碼如下:
~~~
<Col span="24">
<Card>
<p slot="title" class="head-con">
<span class="p-title">
<Icon type="ios-list"></Icon>
答題人數統計
</span>
<span class="search-con">
<Input v-model="searchName" placeholder="請輸入姓名、手機號、試卷名搜一搜..." clearable style="width: 250px" />
<Button type="primary" icon="search" @click="bindChange(searchName)">搜索</Button>
</span>
</p>
<Row>
<Table stripe :columns="columns1" :data="data1"></Table>
<Row class="page-right">
<Page :total="pageTotal" show-elevator show-total @on-change="pageChange"></Page>
</Row>
</Row>
</Card>
</Col>
~~~
**:columns**代表數據的表頭,
**:data**這里存放我們渲染的數據
這里主要是提供了**兩種方法**,方法一:js代碼如下:
~~~
// 封裝請求的方法
search (data, argumentObj) {
let res = data;
let dataClone = data;
for (let argu in argumentObj) {
if (argumentObj[argu].length > 0) {
res = dataClone.filter(d => {
return d[argu].indexOf(argumentObj[argu]) > -1;
});
dataClone = res;
}
}
return res;
},
// 搜索按鈕事件
bindChange: function(e){
//基本的結構是這樣:渲染數據 = (總數據,請求的參數)
// 匹配用戶名
this.data1 = (this,allData, {userName: e})
}
~~~
方法二: (自己寫的比較簡單的方法,可以請求多類型的數據)
~~~
bindChange: function(e){
let res = this.allData;
let dataClone = [];
for(let obj in res){
// 匹配用戶名
if(res[obj].userName == e){
dataClone.push(res[obj])
}
// 匹配手機號
else if(res[obj].phone == e){
dataClone.push(res[obj])
}
// 匹配試卷名
else if(res[obj].cname == e){
dataClone.push(res[obj])
}
}
this.data1 = dataClone;
this.pageTotal = this.data1.length;
}
~~~
- mui框架
- toast提示框的使用
- 星級評分
- 上拉刷新和下拉加載里超鏈接失效的原因
- confirm確認框的使用
- 取消下拉刷新和上拉加載的border
- 解決使用加載的方式捕捉不到dom
- css樣式篇
- css3實現0.5像素的邊框
- css3樣式中的border-radius的圓角邊框
- css面試篇之紅色十字架
- css樣式~~用圖片模擬單選框radio的功能
- div設置絕對定位以后,文字實現居中
- 設置input里面字體顏色和大小
- js知識篇
- javascript篇~~九九乘法表
- js~跳轉提示頁面
- js~實現60秒倒計時
- 正則表達式之保留小數點后兩位小數
- 數組操作方法篇
- Array.prototype.filter()的用法
- 使用正則去除空格
- jQuery知識篇
- jQuery~~模仿radio圖片切換
- 下拉菜單的滑動效果
- jQuery點擊切換字體顏色
- jQuery實現圖片和字體圖標顏色的切換
- 左側菜單之當前點擊菜單展開,其他菜單收縮
- jQuery全選或全部不選
- 實現子菜單的收縮和展開
- 小程序
- 小程序~調用豆瓣api數據的問題
- 實現毫秒級倒計時
- 條件渲染-wx:if語句
- 實現兩個頁面共存
- wxss樣式問題
- 修改按鈕默認的border-radius
- 移動端
- 安卓底部按鈕浮上來的解決方法
- excel(xlsx) to json
- vue
- 事件
- 某個元素的點擊事件
- 阻止子事件的冒泡
- excel文件的導入功能(解析成json數據)
- iview框架
- render函數
- iview不支持鍵盤事件的解決方法
- 路由傳參
- 搜索框template的基本寫法
- watch監聽
- 路由發生變化,數據沒有更新?
- 動態組件
- 刷新組件
- 前端小功能
- 搜索框
- axios
- axios公共請求方法
- cookie的簡單使用
- 微信掃碼登錄功能
- pc端微信掃碼登錄-內嵌網頁版
- MongoDB
- 安裝與配置
- 布局
- js判斷打開是PC端還是移動端
- 自適應布局方案-視口布局
- js實現加密和解密的公共方法
- js實現正則表達式匹配的文字加上標簽
- python
- 解決pip升級不成功的原因
- Django
- runserver 失敗的原因